2012-11-22 52 views
7

我正在使用scrapy爬行速度慢(约1页/秒)。 我从aws服务器爬行一个主要网站,所以我不认为它是一个网络问题。 Cpu利用率远不及100,如果我启动多个scrapy进程,抓取速度要快得多。Scrapy爬行速度慢(60页/分钟)

Scrapy似乎抓取了一堆页面,然后挂起几秒钟,然后重复。

我试着玩: CONCURRENT_REQUESTS = CONCURRENT_REQUESTS_PER_DOMAIN = 500

但这并不似乎真的动针过去约20

+0

哪个scrapy版本?任何非默认扩展/中间件?暂停可能是一些阻塞代码,您是否可以在阻止scrapy的reactor线程中做某些事情(例如将数据写入数据库,上传到s3等)? –

+0

@somewire检查CPU | HDD |网络利用率只需要报废而不用lxml解析页面。设置'LOG_LEVEL ='DEBUG'' – nk9

回答

2

你肯定你被允许抓取目的地现场在高速?许多网站实施下载阈值和“一段时间后”开始缓慢响应。

+0

如果请求返回503并且前端服务器是nginx,那么您是对的http://nginx.org/en/docs/http/ngx_http_limit_conn_module.html – nk9