Hier, j'ai vu quelqu'un demander "quel langage de programmation est le meilleur pour créer un web crawler ? PHP, Python ou Node.js ?" et en mentionnant quelques exigences ci-dessous.
1 La capacité d'analyse des pages web
2 Capacité opérationnelle de la base de données (MySQL)
3 Efficacité du crawling
4 La quantité de code
Quelqu'un a répondu à la question.
"Lorsque vous allez scraper des sites Web à grande échelle, alors l'efficacité, l'évolutivité et la maintenabilité sont les facteurs que vous devez prendre en compte."
L'exploration de sites Web à grande échelle implique de nombreux problèmes : multithreading, mécanisme d'E/S, exploration distribuée, communication, vérification des doublons, planification des tâches, etc. Et puis le langage utilisé et le cadre choisi jouent un rôle important à ce moment-là.
PHP
La prise en charge du multithreading et de l'asynchronisme est assez faible et n'est donc pas recommandée.
Node.js
Il peut crawler certains sites Web verticaux. Mais en raison du support pour l'exploration distribuée et les communications est relativement plus faible que les deux autres. Vous devez donc porter un jugement.
Python
Il est fortement recommandé et prend mieux en charge les exigences mentionnées ci-dessus, notamment le framework Scrapy. Le framework Scrapy présente de nombreux avantages :
Prise en charge de XPath:
1.Bonnes performances en fonction des torsades
2.Outils de débogage
Si vous souhaitez effectuer une analyse dynamique de JavaScript, il n'est pas approprié d'utiliser casperjs sous le framework scrapy et il est préférable de créer votre propre moteur javescript basé sur le moteur Chrome V8.
C & C ++
Je ne recommande pas les deux. Bien qu'ils aient de bonnes performances, nous devons toujours considérer de nombreux facteurs tels que le coût. Pour la plupart des entreprises, il est recommandé d'écrire un programme de crawler basé sur un framework open source. Faites le meilleur usage des excellents programmes disponibles. Il est facile de faire un crawler simple, mais il est difficile d'en faire un excellent.
En réalité, il est difficile de créer un crawler parfait. Mais s'il existe un tel logiciel qui peut répondre à vos différents besoins, voulez-vous l'essayer ?
Les caractéristiques des crawlers web :
Gratuit mais puissant
Supporte l'extraction de données d'éléments HTML arbitraires
Prise en charge de l'exploration distribuée
Haute concurrence
Traite les pages statiques et les pages AJAX
Fournit une API de données
Connexion à une base de données pour exporter des données
Publié à l'origine sur le site: www.octoparse.fr/blog