刮擦蜘蛛的防御性抓网技术

Defensive web scraping techniques for scrapy spider

提问人:pbthehuman 提问时间:1/12/2021 更新时间:1/12/2021 访问量:122

问:

我已经进行网络抓取大约 3 个月了,我注意到我的许多蜘蛛需要经常照顾孩子,因为网站在变化。我使用 scrapy、python 和 crawlera 来抓取我的网站。例如,2 周前我创建了一个蜘蛛,但由于网站将其元标签从单数更改为复数(因此位置变成了位置),因此不得不重建它。这么小的改动应该不会真正惹恼我的蜘蛛,所以我想对我的收藏采取一种更具防御性的方法。有没有人对网络抓取有任何建议,以减少保姆?先谢谢你!

网页抓取 刮擦 Shell-Shell 网络挖掘

评论


答:

1赞 Felix Eklöf 1/12/2021 #1

由于您没有发布任何代码,我只能给出一般建议。

  1. 查看是否有隐藏的 API 可以检索您要查找的数据。 在 Chrome 中加载页面。检查并查看“网络”选项卡。单击,您可以搜索在屏幕上看到的要收集的文本。如果您在“网络”选项卡下找到任何包含 json 格式数据的文件,这将更可靠,因为网页的后端更改频率低于前端。F12CTRL + F

  2. 选择器不那么具体。您可以更改为 .这样,您的蜘蛛就不太可能因小改动而折断。body > .content > #datatable > .row::text#datatable > .row::text

  3. 使用 so 处理错误,以阻止整个解析函数结束,如果您预计某些数据可能不一致。try except

评论

0赞 pbthehuman 1/12/2021
我很欣赏你的评论!我没有分享代码,因为这是一个更笼统的讨论问题。感谢您的反馈!