Scrapy:使用`start_requests()`制作网址后,还需要`start_urls`?

时间:2016-07-02 17:44:53

标签: python-3.x scrapy

我正在使用Scrapy 1.1, 我的问题是:

使用start_requests()制作网址后,还需要start_urls吗? 我可以删除吗?

例如:

class demoSpider(RedisSpider):
    name = "demospider"

    #Can I delete `start_urls`?
    redis_key = 'demospider:start_urls'
    start_urls = ['http://www.example.com']

    def start_requests(self):
        pages=[]
        for i in range(1,10):
            url='http://www.example.com/?page=%s'%i
            page=scrapy.Request(url)
            pages.append(page)
        return pages

1 个答案:

答案 0 :(得分:1)

所有scrapy蜘蛛都必须从scrapy.Spider继承(或者像scrapy.spiders.CrawlSpider这样的孩子) 如果您打开此课程,则会发现self.start_urls仅用于start_requests方法。

因此,如果您覆盖继承的start_requests方法,则start_urls不再在任何地方使用,并且可能未定义或删除。