首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >只处理可迭代的前10个请求。

只处理可迭代的前10个请求。
EN

Stack Overflow用户
提问于 2015-02-11 09:55:25
回答 2查看 239关注 0票数 1

我有一个从站点地图开始的爬虫,抓取(一对)100个唯一的urls,然后在这100页上做进一步的处理。但是,我只会在前10个urls上得到回调。蜘蛛日志似乎只在前10个urls上调用HTTP。

代码语言:javascript
运行
复制
class MySpider(scrapy.spider.BaseSpider):

    # settings ... 

    def parse(self, response):
        urls = [...]
        for url in urls:
            request = scrapy.http.Request(url, callback=self.parse_part2)
            print url
            yield request

    def parse_part2(self, response):
        print response.url
        # do more parsing here

我已经考虑过这些选择:

  1. 搅乱名单
  2. 设置下载延迟(非常确定我没有得到价格限制)
  3. dont_filter=True arg
  4. 返回一个请求数组,而不是生成
  5. 禁用并行请求

有没有什么神秘的max_branching_factor标志我不知道或者什么的?

编辑:日志,完全正常。

代码语言:javascript
运行
复制
2015-02-11 02:05:12-0800 [mysite] DEBUG: Crawled (200) <GET url1>
yay callback!
2015-02-11 02:05:12-0800 [mysite] DEBUG: Crawled (200) <GET url2>
2015-02-11 02:05:12-0800 [mysite] DEBUG: Crawled (200) <GET url3> 
2015-02-11 02:05:12-0800 [mysite] DEBUG: Crawled (200) <GET url4> 
2015-02-11 02:05:12-0800 [mysite] DEBUG: Crawled (200) <GET url5> 
2015-02-11 02:05:12-0800 [mysite] DEBUG: Crawled (200) <GET url6> 
yay callback!
yay callback!
yay callback!
yay callback!
yay callback!
2015-02-11 02:05:12-0800 [mysite] DEBUG: Crawled (200) <GET url7> 
yay callback!
2015-02-11 02:05:13-0800 [mysite] DEBUG: Crawled (200) <GET url8> 
yay callback!
2015-02-11 02:05:13-0800 [mysite] DEBUG: Crawled (200) <GET url9> 
yay callback!
2015-02-11 02:05:13-0800 [mysite] DEBUG: Crawled (200) <GET url10> 
yay callback!
2015-02-11 02:05:13-0800 [mysite] INFO: Closing spider (finished)
2015-02-11 02:05:13-0800 [mysite] INFO: Dumping Scrapy stats:
  {'downloader/request_bytes': 4590,
   'downloader/request_count': 11,
   'downloader/request_method_count/GET': 11,
   'downloader/response_bytes': 638496,
   'downloader/response_count': 11,
   'downloader/response_status_count/200': 11,
   'finish_reason': 'finished',
   'finish_time': datetime.datetime(2015, 2, 11, 10, 5, 13, 260322),
   'log_count/DEBUG': 17,
   'log_count/INFO': 3,
   'request_depth_max': 1,
   'response_received_count': 11,
   'scheduler/dequeued': 11,
   'scheduler/dequeued/memory': 11,
   'scheduler/enqueued': 11,
   'scheduler/enqueued/memory': 11,
   'start_time': datetime.datetime(2015, 2, 11, 10, 5, 12, 492811)}
2015-02-11 02:05:13-0800 [mysite] INFO: Spider closed (finished)
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-02-11 19:55:09

所以我在我的一个设置文件中找到了这个属性。

代码语言:javascript
运行
复制
max_requests / MAX_REQUESTS = 10

是蜘蛛提前退出的罪魁祸首

票数 1
EN

Stack Overflow用户

发布于 2015-02-11 10:00:47

尝试将LOG_LEVEL设置为调试,您将看到更多的日志。

如果你做了so.please粘贴在上面

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28451290

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档