我目前正在开发自己的小型网络爬虫,并且想知道...
网络爬虫再次访问相同站点的合适间隔是多少?
你应该每天重温一次吗?每小时一次?我真的不知道……有没有人有这方面的经验?也许有人可以指出我正确的方向?
我目前正在开发自己的小型网络爬虫,并且想知道...
网络爬虫再次访问相同站点的合适间隔是多少?
你应该每天重温一次吗?每小时一次?我真的不知道……有没有人有这方面的经验?也许有人可以指出我正确的方向?
我认为您的爬虫访问需要是有机的。
我会从每周抓取一次列表开始,
当网站内容发生变化时,将其设置为每周抓取两次,[然后]当您看到更频繁的更改时,您会更频繁地抓取。
该算法需要足够聪明,才能知道一次性编辑和频繁的站点更改之间的区别。
另外,永远不要忘记注意 Robots.txt ......这是你应该在爬行时点击的第一页,你需要尊重它的内容高于一切。
这将取决于您正在抓取的网站以及您对结果的处理方式。
例如,有些人不会反对相当频繁的访问率,但其他人可能会限制您每天访问一次。
许多网站都热衷于保护他们的内容(默多克和新闻国际对谷歌的抨击并将《泰晤士报》(英国)置于付费墙后面),所以他们不信任地看待爬虫。
如果您只想抓取几个网站,那么值得联系网站所有者并解释您想要做什么并查看他们的回复。如果他们确实回复,请尊重他们的意愿并始终遵守robots.txt
文件。
甚至一个小时也可能是不礼貌的,这取决于您搜索的网站以及搜索的强度。我假设您这样做是为了练习,因此请帮助拯救世界并将自己限制在为处理巨大负载而构建的站点上,然后只首先获取 HTTP 标头以查看您是否需要获取该页面。
更有礼貌的做法是先用 抓取有限的集合wget
,将其存储在本地并爬取缓存。
如果您不将其作为练习进行,则没有理由像死一样做,而 interwebz 不需要另一个。