我有
start_urls = `[a.com,b.com,c.com,....]`
我想为链接提取器,允许,拒绝和b.com应用rule.com一些不同的规则,对于c.com我不想应用规则,只需抓取给定的URL。
我怎样才能做到这一点?
提前致谢..
答案 0 :(得分:2)
您希望覆盖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)