我正在实施抓取蜘蛛,抓取网页并查找相同的域链接,然后抓取所有相同的域页面。到目前为止,我成功实现了从网页中提取所有链接的抓取蜘蛛,这是获取所有链接的规则
Rule(SgmlLinkExtractor(allow=(r'', )),
callback='parse_start_url', follow=False),
然后我在回调函数中应用一个检查,就像这样
def parse_start_url(self, response):
sel = Selector(response)
request_url = response.request.headers.get('referer', " ")
if (request_url in response.url) or (request_url == " "):
# retrieving the text from he body of the page
mystring = ''.join(sel.xpath("//body//text()").extract()).strip()
以上if条件对我来说运行正常但问题是它转到给定页面上的所有可用链接并且在回调函数中做出决定,我想要规则(链接) -extractor)帮助,以便它只爬网具有相同基域的页面。 或者我们只能说那个给定网站的链接。
任何帮助都将受到高度赞赏
感谢