【发布时间】:2021-02-12 19:01:31
【问题描述】:
我几乎已经完成了基于 Scrapy 的 CrawlSpider 构建的网络爬虫,其目的是爬取站点以检查损坏的外部链接。爬虫测试外部链接并报告 HTTP 状态代码、链接文本和链接所在的页面。
def external_url(self, response):
item = linkList()
item['link_text'] = response.meta['link_text']
item['link_url'] = response.url
item['link_status'] = response.status
item['link_location'] = response.request.headers.get('Referer', None)
不过,我注意到,大约 1/3 的已检查外部链接没有返回引荐来源网址。我已经通过 url 对结果进行了排序,似乎某些域只是不返回引用者。我检查了 HTTP 状态码,几乎所有的 URL 都返回了200。我尝试将REFERER_POLICY 从默认更改为unsafe_url,因为这似乎是保证在标题中发送引用链接的唯一选项,但这并没有改变结果。对此我有什么可以做的,或者这可能是外部域的问题吗?
感谢您的帮助。
【问题讨论】: