我正在使用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
答案 0 :(得分:1)
所有scrapy蜘蛛都必须从scrapy.Spider
继承(或者像scrapy.spiders.CrawlSpider
这样的孩子)
如果您打开此课程,则会发现self.start_urls
仅用于start_requests
方法。
因此,如果您覆盖继承的start_requests
方法,则start_urls
不再在任何地方使用,并且可能未定义或删除。