0
我如何在python scrapy中爲不同的start_urls應用不同的規則?
start_urls = `[a.com,b.com,c.com,....]`
我想申請規則1的a.com像鏈接提取,允許,拒絕和b.com一些不同勢規則和c.com我不想要應用的規則,只是簡單抓取給定的URL。
我怎樣才能做到這一點?
在此先感謝..
我如何在python scrapy中爲不同的start_urls應用不同的規則?
start_urls = `[a.com,b.com,c.com,....]`
我想申請規則1的a.com像鏈接提取,允許,拒絕和b.com一些不同勢規則和c.com我不想要應用的規則,只是簡單抓取給定的URL。
我怎樣才能做到這一點?
在此先感謝..
你想覆蓋start_requests
方法和使用自定義方法與鏈接提取:
def start_requests(self):
yield Request('http://a.com', self.parse_a)
yield Request('http://b.com', self.parse_b)
yield Request('http://c.com', self.parse_data)
def parse_a(self, response):
links = LinkExtractor(
# ... extract links from http://a.com
).extract_links(response)
return (Request(url=link.url, callback=self.parse_data) for link in links)
def parse_b(self, response):
links = LinkExtractor(
# ... extract links from http://b.com
).extract_links(response)
return (Request(url=link.url, callback=self.parse_data) for link in links)
謝謝它幫了我很多.. – ram 2014-11-28 07:24:31
@ram不客氣:) – elias 2014-11-28 14:36:40