我目前正在将Scrapy用于个人项目,但在性能方面很挣扎。
当我不使用管道时,我的4个模拟爬网程序可以在30秒内爬网600页。
我已经实现了一个自定义管道来处理每个页面中的脚本,并将它们与5000个url列表进行比较,以检查该url是否存在于脚本代码中。
问题在于,这使我的爬网运行了110秒,而不是在不使用管道时运行了30秒。
我想知道如何优化代码,因为对于每个页面,我都会检查所有脚本中的每个链接。
下面是它的外观:
我们可以运行多线程以加快循环速度吗?
spider类中的解析函数:
innerRef
管道中的处理项目功能
Arrow