Serveur idéal pour scraper / crawler

Hello à tous,
Je cherche un serveur adapté au scraping / crawling pour des volumes importants : 100 000 page / jour minimum.

Je cherche donc un hebergement adapté en terme de puissance des serveurs et une bonne bande passante internet.

L’avis des scrapers professionnels que vous êtes m’intéresse :slight_smile:

100 000 pages/jours, ça fait environ 0.8s par page. C’est pas la mer à boire.

Après ça dépend de la page et de l’optimisation de l’algo. Mais ça devrait aller. Fait un benchmark sur ton pc perso d’abord.

100k c’est le minimum ça peut monter à 500. Du coup quel serveur tu me conseilles ? Sur un Mac puissant avec la fibre bien évidemment 100k c’est passé sans pb :slight_smile:

A vue d’oeil, il manque beaucoup de paramètres. Comme je disais, cela dépend du temps de traitement par page. Les benchmarks sur le mac donnent quoi?
Est ce que c’est multithread? Car si c’est pas multi thread, ça ne sert à rien de prendre plus d’un seul core (à la limite 2).

Oui c’est multithreadé et le traitement par page est quasi instantané. Du coup quel serveur tu me conseilles ?

Benchmark AWS, GCP ou Azure. C’est comme dire: « je veux aller vite, quelle voiture acheter ? » Difficile de te conseiller.

Je comprends pas de soucis. Mais n’ayant jamais fait ça, il m’est impossible de savoir quels sont les informations indispensables à donner pour avoir une réponse :slight_smile:

Du coup pourrais tu me guider ? Il te faudrait quelle info en plus du volume de page / jour, du multithread et du fait que le traitement est quasi instantané ?

Merci pour ton aide

Ton backend ou script est développé?

Des ex de questions à se poser :

  • Quels sites souhaites-tu scraper ? Site(s) protégé(s) ?
  • Est-ce que tu dois utiliser des proxies ?
  • Comment souhaites-tu stocker ces données ?

Mon script fonctionne

  • Quels sites souhaites-tu scraper ? Site(s) protégé(s) → pleins de sites différents, je n’ai pas l’autorisation de les scrapper si c’est la question
  • Est-ce que tu dois utiliser des proxies ? → non
  • Comment souhaites-tu stocker ces données ? → très peu de données a stocker (dans un petit .txt)

Dans ces trois Benchmark AWS, GCP ou Azure que tu proposes il y a 2 infos que je ne trouve pas :

-Ils autorisent le crawl de sites sans permission ?
-Quel est la bande passante internet par serveur ? Si c’est une fibre partagée pour 200 machines c’est pas top non ?

C’est souvent pas autorisé… :sweat_smile:

  • Sur un petit dyno à 7$ (Heroku) je peux faire jusqu’à 50k/j, dans ta situation la bande passante n’est pas importante car 100k/j est un petit volume.
  • Si le compte est récent + tu commences à crawl massivement des sites : ils vont fermer ton compte (déjà vu pour un client). Si tu as un vieux compte (ex OVH), tu peux y aller sans problème!
  • Le stockage de données dans un .txt ce n’est pas terribe à exploiter

Je n’ai ni compte OVH, encore moins un besoin à 50k :slight_smile:

Il me faudrait vraiment un serveur qui autorise le crawl, mini 100k mais idéalement 500k, avec une bande passante suffisante pour charger plusieurs sites à la seconde.

Tu me conseilles quoi du coup comme serveur ?

Si besoin d’infos supplémentaires pour pouvoir me répondre n’hésitez pas à me le dire

Pour ma part, je partirais sur un VPS 2 core chez OVH (c’est ce que je connais de mieux et je ne connais pas les autres hébergeurs).
Si tu sens que ça rame, tu pourras monter en puissance à la volée, c’est à dire ajouter de la ram, du stockage, des vCore (mais pas redescendre).
Ca te permettras de tâtonner un peu tes besoins sans engager trop de frais avec des risques limitées (montée en puissance facile sans devoir tout reconfigurer).

Hello, chez Bright Data nous avons un service qui permet de coder ton crawleur et l’heberger chez nous et donc pas besoin de serveur. Ca s’appelle « Data Collector ». Tu ne payes que pour les requetes (page load). Notre systeme s’occupe des proxys.

Pour en savoir plus: Data Collector - Web Scraper

Au plaisir d’echanger.

David

Ça dépend surtout de la manière dont tu codes ton scraper:

  • Si tu crawl avec un navigateur headless, ça sera bcp plus lent qu’avec des requêtes HTTP brutes.
  • Si tu exécutes beaucoup de regex / parsing dom à chaque scrap, ça va taper fort sur le CPU.

Globalement, il faut bien comprendre que ton bottleneck sera surtout le CPU et combien de threads tu peux lancer en parallèle. Rarement la bande passante si tu as une connexion gigabit/s.

Personne ne peut te répondre sur la relation entre hardware <=> nombre de site scrappés car ça dépend de la rapidité de ton scrapper, de la complexité de ton code, etc.

Par contre, c’est à toi de faire des tests, et de voir jusqu’à combien de threads tu peux monter en gardant une charge CPU acceptable (surtout sur des VPS).

Si le compte est récent + tu commences à crawl massivement des sites : ils vont fermer ton compte (déjà vu pour un client). Si tu as un vieux compte (ex OVH), tu peux y aller sans problème!

Pour info, je n’ai jamais eu de problème de scraping chez OVH, DigitalOcean, Linode. Même en tirant très fort :smile:

Ça dépend encore une fois du cas d’utilisation. En envoyant 500k requêtes à un seul site en une journée, ledit site ne va pas du tout apprécier (ça ressemble à une attaque DOS), et risque de poser une réclamation chez ton hébergeur (c’est là qu’il vaut mieux utiliser des proxies).

En envoyant 1 millions de requêtes/jour sur 1 millions de sites différents, aucun problème.

2 « J'aime »