1
我正在使用Scrapy
在網站上進行爬網。我需要抓取的鏈接格式爲http://www.somesite.com/details.html?pageId=<some_integer_id>
。 some_integer_id
的值從1
延伸到100
(不完全是100)。我做的是這樣的:Scrapy +請求參數中的更改
1.I創建一個函數來生成的URL列表:
def generateURLs(self):
url_list = []
for i in range(1, 101):
url_list.append('http://www.somesite.com/details.html?pageId=%d' % i)
return url_list
2.使用此功能設置的Scrapy
start_urls
這樣的值:
def __init__(self):
self.start_urls = self.generateURLs()
這是推薦使用Scrapy
的方式,還是有其他更好的方法來做到這一點,我只需要更改請求參數的值?
謝謝。
AFAIK,這是唯一正確的方法來做到這一點。 Scrapy的BaseSpider需要'start_urls'來尋找網址來抓取。這意味着如果你真的不喜歡這樣,你可以[override](http://doc.scrapy.org/en/latest/topics/spiders.html#scrapy.spider.BaseSpider.start_requests)'start_requests() '函數來產生你的請求。 – Mayli