En fait, je ne suis pas d’accord avec la déclaration du robot DHT.
Différentes langues auront naturellement des usages différents. Parler de ce qui est bon ou mauvais sans l'environnement n'est qu'un hooliganisme.
1. Si vous le faites pour le plaisir, en explorant quelques pages de manière ciblée, et si l'efficacité n'est pas l'exigence fondamentale, le problème ne sera pas grave. N'importe quel langage fonctionnera et la différence de performances ne sera pas grande. Bien sûr, si vous rencontrez une page très complexe et que l’expression régulière est très compliquée, la maintenabilité du robot diminuera.
2. Si vous effectuez une exploration directionnelle et que la cible doit analyser des js dynamiques.
Ainsi, pour le moment, la méthode consistant à utiliser des pages de requête ordinaires puis à obtenir le contenu ne fonctionnera certainement pas. Un moteur js similaire à Firefox et Chrome est nécessaire pour analyser dynamiquement le code js. Pour le moment, nous recommandons casperJS phantomjs ou slimerJS phantomjs
3. S'il s'agit d'une exploration de site Web à grande échelle
À ce stade, l’efficacité, l’évolutivité, la maintenabilité, etc. doivent être prises en compte.
L'exploration à grande échelle implique de nombreux aspects, tels que l'exploration distribuée, un mécanisme de jugement lourd et la planification des tâches. Laquelle de ces questions est la plus facile si vous approfondissez ?
La sélection de la langue est très importante en ce moment.
NodeJs : Il est très efficace en crawl. La programmation multithread à haute concurrence devient une simple traversée et un rappel, l'utilisation de la mémoire et du processeur est faible et le rappel doit être bien géré.
PHP : Différents frameworks sont disponibles partout, vous pouvez en utiliser n'importe lequel. Cependant, il y a vraiment un problème avec l'efficacité de PHP... Je ne dirai pas grand chose
Python : j'écris davantage en python, et il prend mieux en charge divers problèmes. Le framework Scrapy est facile à utiliser et présente de nombreux avantages.
Je pense que js n'est pas très adapté à l'écriture... problèmes d'efficacité. Si je ne l’ai pas écrit, j’aurai probablement beaucoup de problèmes.
Autant que je sache, les grandes entreprises utilisent aussi le C . Bref, la plupart d'entre eux sont modifiés sur des frameworks open source. Peu de gens réinventent vraiment la roue.
pas la peine.
J'ai écrit ceci avec désinvolture en fonction de mes impressions. Les corrections sont les bienvenues.
Utilisez pyspider, ses performances ne sont pas pires que celles de Scrapy, plus flexibles, avec WEBUI, et prend également en charge l'exploration JS~
Vous pouvez y jouer avec votre propre démo~
Les robots d'exploration hautes performances ne sont pas aussi adaptés à la concurrence que les serveurs, mais pour leur efficacité (réduire la duplication), ils sont plus adaptés au parallélisme qu'à la concurrence.
Eh bien, j'avais encore tort.
La concurrence et le parallélisme sont presque les mêmes pour les robots d'exploration~
La plupart d'entre eux utilisent Python, et bien sûr il existe également de nombreux Java C . Python arrive rapidement et présente de grands avantages par rapport aux applications de petite et moyenne taille. S'il s'agit d'une application à grande échelle, une optimisation ou du C est nécessaire pour réécrire certains codes de goulot d'étranglement des performances.
Vous pouvez essayer l'outil jsoup, développé en utilisant Java.
Commençons à utiliser node maintenant. JavaScript est celui qui comprend le mieux le HTML
nodey 1
nodey 1
En fait, je ne suis pas d’accord avec la déclaration du robot DHT.
Différentes langues auront naturellement des usages différents. Parler de ce qui est bon ou mauvais sans l'environnement n'est qu'un hooliganisme.
1. Si vous le faites pour le plaisir, en explorant quelques pages de manière ciblée, et si l'efficacité n'est pas l'exigence fondamentale, le problème ne sera pas grave. N'importe quel langage fonctionnera et la différence de performances ne sera pas grande. Bien sûr, si vous rencontrez une page très complexe et que l’expression régulière est très compliquée, la maintenabilité du robot diminuera.
2. Si vous effectuez une exploration directionnelle et que la cible doit analyser des js dynamiques.
Ainsi, pour le moment, la méthode consistant à utiliser des pages de requête ordinaires puis à obtenir le contenu ne fonctionnera certainement pas. Un moteur js similaire à Firefox et Chrome est nécessaire pour analyser dynamiquement le code js. Pour le moment, nous recommandons casperJS phantomjs ou slimerJS phantomjs
3. S'il s'agit d'une exploration de site Web à grande échelle
À ce stade, l’efficacité, l’évolutivité, la maintenabilité, etc. doivent être prises en compte.
L'exploration à grande échelle implique de nombreux aspects, tels que l'exploration distribuée, un mécanisme de jugement lourd et la planification des tâches. Laquelle de ces questions est la plus facile si vous approfondissez ?
La sélection de la langue est très importante en ce moment.
NodeJs : Il est très efficace en crawl. La programmation multithread à haute concurrence devient une simple traversée et un rappel, l'utilisation de la mémoire et du processeur est faible et le rappel doit être bien géré.
PHP : Différents frameworks sont disponibles partout, vous pouvez en utiliser n'importe lequel. Cependant, il y a vraiment un problème avec l'efficacité de PHP... Je ne dirai pas grand chose
Python : j'écris davantage en python, et il prend mieux en charge divers problèmes. Le framework Scrapy est facile à utiliser et présente de nombreux avantages.
Je pense que js n'est pas très adapté à l'écriture... problèmes d'efficacité. Si je ne l’ai pas écrit, j’aurai probablement beaucoup de problèmes.
Autant que je sache, les grandes entreprises utilisent aussi le C . Bref, la plupart d'entre eux sont modifiés sur des frameworks open source. Peu de gens réinventent vraiment la roue.
pas la peine.
J'ai écrit ceci avec désinvolture en fonction de mes impressions. Les corrections sont les bienvenues.
Utilisez pyspider, ses performances ne sont pas pires que celles de Scrapy, plus flexibles, avec WEBUI, et prend également en charge l'exploration JS~
Vous pouvez y jouer avec votre propre démo~
sélénium
nodejs 1
Non, j'avais tort.
Les robots d'exploration hautes performances ne sont pas aussi adaptés à la concurrence que les serveurs, mais pour leur efficacité (réduire la duplication), ils sont plus adaptés au parallélisme qu'à la concurrence.
Eh bien, j'avais encore tort.
La concurrence et le parallélisme sont presque les mêmes pour les robots d'exploration~
Non, c’est différent.
Oubliez ça, nodejs 1.
La plupart d'entre eux utilisent Python, et bien sûr il existe également de nombreux Java C . Python arrive rapidement et présente de grands avantages par rapport aux applications de petite et moyenne taille. S'il s'agit d'une application à grande échelle, une optimisation ou du C est nécessaire pour réécrire certains codes de goulot d'étranglement des performances.
Vous pouvez essayer le scrapy de Python