Maison  >  Questions et réponses  >  le corps du texte

Comment améliorer l'efficacité de l'analyse du robot d'exploration Python ?

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

世界只因有你世界只因有你2686 Il y a quelques jours714

répondre à tous(3)je répondrai

  • 为情所困

    为情所困2017-06-12 09:22:36

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

    répondre
    0
  • 怪我咯

    怪我咯2017-06-12 09:22:36

    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é.

    répondre
    0
  • 淡淡烟草味

    淡淡烟草味2017-06-12 09:22:36

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

    répondre
    0
  • Annulerrépondre