笨鸟编程-零基础入门Pyhton教程

 找回密码
 立即注册

常见问题

发布者: 笨鸟自学网



Scrapy是否从Django“窃取”X?

可能吧,但我们不喜欢这个词。我们认为django_u是一个伟大的开源项目,也是一个可以效仿的例子,所以我们把它作为scrappy的灵感来源。

我们相信,如果事情已经做好,就没有必要重新发明它。 这个概念除了是开源和自由软件的基础之外,不仅适用于软件,还适用于文档,程序,策略等。因此,我们不是自己解决每个问题,而是选择从这些项目中复制想法。 已经妥善解决了这些问题,并专注于我们需要解决的实际问题。

如果Scrapy能为其他项目提供灵感,我们会感到骄傲。随时从我们这里偷东西!

Scrapy与HTTP代理一起工作吗?

是。 通过HTTP代理下载器中间件提供对HTTP代理的支持(自Scrapy 0.8起)。 请参阅:class:~scrapy.downloadermiddlewares.httpproxy.HttpProxyMiddleware

如何在不同的页面中抓取具有属性的项目?

见 向回调函数传递附加数据 .

Scrapy崩溃:importError:没有名为win32api的模块

您需要安装 pywin32 因为这个 Twisted bug`_ .

如何在蜘蛛中模拟用户登录?

见 使用formRequest.from_response()模拟用户登录 .

Scrapy是以广度优先还是深度优先的顺序爬行?

默认情况下,Scrapy使用 LIFO 用于存储挂起请求的队列,这基本上意味着它会爬入 DFO order .这种订单在大多数情况下更方便。

如果你真的想爬进去 BFO order ,您可以通过设置以下设置来完成此操作:

DEPTH_PRIORITY = 1
SCHEDULER_DISK_QUEUE = 'scrapy.squeues.PickleFifoDiskQueue'
SCHEDULER_MEMORY_QUEUE = 'scrapy.squeues.FifoMemoryQueue'

当挂起的请求低于配置的值时 CONCURRENT_REQUESTS , CONCURRENT_REQUESTS_PER_DOMAIN 或 CONCURRENT_REQUESTS_PER_IP ,这些请求同时发送。因此,前几个爬行请求很少遵循所需的顺序。将这些设置降低到 1 强制执行所需的顺序,但它会显著降低整体爬行速度。


上一篇:远程登录控制台下一篇:调试spiders

Archiver|手机版|笨鸟自学网 ( 粤ICP备20019910号 )

GMT+8, 2024-9-8 11:35 , Processed in 0.017229 second(s), 17 queries .

© 2001-2020

返回顶部