python - 在广泛的 Scrapy Web 爬虫中只允许内部链接

标签 python url web-scraping filtering scrapy

我正在使用 Scrapy 来抓取数千个网站。我有一大堆要抓取的域。一切正常,只是爬虫也跟踪外部链接,这就是为什么它爬取的域太多而不是必要的。我已经尝试在 SGMLlinkextractor 中使用“allow_domains”,但是当我向它解析大量域列表时,这不起作用。

所以我的问题是:如何将广泛的 scrapy 爬行限制为内部链接?

非常感谢任何想法。

更新:问题是由 allow_domains 列表引起的,该列表太大而无法处理 scrapy

最佳答案

OffsiteMiddleware是你应该考虑使用的:

class scrapy.contrib.spidermiddleware.offsite.OffsiteMiddleware

Filters out Requests for URLs outside the domains covered by the spider.

This middleware filters out every request whose host names aren’t in the spider’s allowed_domains attribute.

关于python - 在广泛的 Scrapy Web 爬虫中只允许内部链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22943404/

相关文章:

xpath - 以编程方式将 Microsoft Teams channel 中的聊天消息导出为 Word 或 pdf,无需管理员角色、权限或权限

python - 搜索估计器参数返回的结果不在网格中?

php - 这是 jquery.ajax() 中的有效 url 参数吗?

url - 为什么没有TLD的这些URL可以解析为网页?

go - 使用 Colly 框架我无法登录 Evernote 帐户

python - beautifulsoup 提取句子,如果它包含关键字

python - 装饰器抑制 'unfilled parameter' 警告

python - 使用 Python 3.6 抓取 Duckduckgo

python - 在Python中使用正则表达式解析LaTeX代码

php - 在 MySQL 中保存图像 URL?