Comment améliorer l'efficacité de l'analyse du robot d'exploration Python ?
世界只因有你
世界只因有你 2017-06-12 09:20:36
0
3
745

Maintenant, nous utilisons l'exploration multithread dans l'environnement Windows,
utilisez beautifulsoup+lxml pour l'analyse.

N threads d'exploration->file d'attente d'analyse->1 thread d'analyse->file d'attente de stockage->1 thread de stockage

L'efficacité de l'ensemble du programme d'exécution est bloquée dans les threads d'analyse intensifs en calcul. Si vous augmentez uniquement le nombre de threads d'analyse, cela augmentera la surcharge de changement de thread et ralentira la vitesse.

Excusez-moi, existe-t-il un moyen d'améliorer considérablement l'efficacité de l'analyse ?

Selon les instructions des deux cuisses, préparez-vous à utiliser
Exploration asynchrone->File d'attente d'analyse->N processus d'analyse->File d'attente de stockage->Fil de stockage

Prêt à commencer la construction

世界只因有你
世界只因有你

répondre à tous(3)
为情所困

En fait, je pense que vous l'avez réécrit en premierN个爬取线程 可以换成协程/线程池实现, 因为你在频繁创建线程本省一种性能耗费, 用线程池虽然可以减少这部分的损耗, 但是上下文切换还是无法避免, 所以协程这方面, 应该是比较合适的.
1个解析线程 换成 进程池,多开几个进程去计算密集处理, 其余应该可以不用改, 如果还想再搞, 将核心部分用c/c++, j'espère que cela pourra vous aider

刘奇

Mon approche est multi-processus. L’avantage du multi-processus est que lorsque les performances d’une seule machine ne suffisent pas, vous pouvez à tout moment passer à un robot distribué.

淡淡烟草味

Vous pouvez trouver le robot d'exploration asynchrone Tornade en ligne, je l'utilise

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal