0
我想刮一些頁面在相同的域名,但不同的結構與scrapy。是否有最好的方式來刮在同一域的不同結構中的多個頁面與scrapy?
http://example.com/page1
http://example.com/page2
http://example.com/page3
我發現了這個答案,現在正在使用它。 (傳遞參數是可以理解的,我)
Scrapy multiple requests and fill single item
def start_requests(self): #This refers scrapy tutrials
urls = [
'http://example.com/page1',
]
for url in urls:
yield scrapy.Request(url=url, callback=self.parse)
def parse(self, response):
data_page1 = response.xpath("//body")
yield scrapy.Request('http://example.com/page2', self.parse2,
meta={'data_page1': data_page1})
def parse2(self, response):
data_page2 = response.xpath("//body")
yield scrapy.Request('http://example.com/page3', self.parse3,
meta={'data_page1': data_page1,'data_page2': data_page2})
def parse3(self, response):
data_page3 = response.xpath("//body")
yield {
'data_page1' : response.meta['data_page1'],
'data_page2' : response.meta['data_page2'],
'data_page3' : data_page3
}
但我認爲這是不好的代碼......
多個頁面更有效有沒有最好的方式刮掉?
謝謝!
謝謝!聽到這個消息,我感到寬慰! –