0

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

4

1 回答 1

1

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

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

  2. 选择器不要那么具体。而不是这样做body > .content > #datatable > .row::text,您可以更改为#datatable > .row::text. 然后你的蜘蛛就不太可能因为小的变化而崩溃。

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

于 2021-01-11T18:59:00.127 回答