Scrapy高CPU使用率

时间:2015-02-11 16:47:17

标签: scrapy

我有一个非常简单的测试蜘蛛,它没有解析。但是我在start_requests方法中将大量的url(500k)传递给spider并且看到非常高(99/100%)的cpu使用率。这是预期的行为吗?如果是这样我怎么能优化它(可能是批处理和使用spider_idle?)

class TestSpider(Spider):

    name = 'test_spider'
    allowed_domains = 'mydomain.com'

    def __init__(self, **kw):
        super(Spider, self).__init__(**kw)
        urls_list = kw.get('urls')
        if urls_list:
            self.urls_list = urls_list

    def parse(self, response):
        pass

    def start_requests(self):
        with open(self.urls_list, 'rb') as urls:
            for url in urls:
                yield Request(url, self.parse)

1 个答案:

答案 0 :(得分:1)

我认为这里的主要问题是你要抓取太多链接,尝试添加规则以避免抓取没有包含你想要的链接。

Scrapy提供了非常有用的文档,请查看它们: http://doc.scrapy.org/en/latest/topics/spiders.html