我遇到了一个采访问题"如果你正在设计一个网络爬虫,你将如何避免进入无限循环?"我试图回答它.
这一切从一开始就是如何开始的.比如谷歌开始时,一些中心页面上说有数百个(首先如何找到这些中心页面是一个不同的子问题).当Google跟踪来自页面的链接等时,它是否继续制作哈希表以确保它不遵循先前访问过的页面.
如果同一页面有2个名称(URL),如果我们有URL缩短器等,那么该怎么办呢?
我以谷歌为例.虽然谷歌没有泄漏其网络爬虫算法和页面排名等的工作方式,但任何猜测?
search-engine large-data-volumes web-crawler google-search data-structures
如何在我的应用程序(Web或控制台)中进行类似Google的重新抓取.我只需要重新抓取那些在特定日期之后更新的页面.
System.Net.WebResponse中的LastModified标头仅提供服务器的当前日期.例如,如果我在2012年1月27日下载了一个带有HTTPWebRequest的页面,并检查LastModified日期的标题,则显示服务页面时服务器的当前时间.在这种情况下,它只是2012年1月27日.
谁能建议任何其他方法?