首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >永恒的爬行

永恒的爬行
EN

Stack Overflow用户
提问于 2012-11-11 08:10:55
回答 2查看 166关注 0票数 4

我最近一直在构建一个新的web应用程序来处理重复发生的事件。这些事件可以每天、每周或每月重复发生。

这一切都运行得很好。但当我开始创建事件浏览器页面(将对公共互联网可见)时,一个想法出现在我的脑海中。

如果爬虫访问此页面,并使用“下一步”和“上一步”按钮来浏览日期,它将永远继续吗?因此,我选择不使用通用HTML链接,而使用AJAX。这意味着机器人将无法跟踪链接。

但是这种方法意味着我失去了没有Javascript的用户的任何功能。或者,没有Javascript的用户数量太少而不值得担心?

有没有更好的方法来处理这件事?

我还非常感兴趣的是,像谷歌爬虫这样的机器人是如何探测到这样的黑洞的,它是如何处理这些黑洞的?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-11-13 16:58:45

nofollow标记添加到页面,或添加到不希望爬网的单个链接。这可以在robots.txt中,也可以在页面源代码中。请参阅Robots Exclusion Standard

您可能仍然需要考虑如何抵御不尊重标准的行为不良的机器人。

票数 4
EN

Stack Overflow用户

发布于 2012-11-20 03:28:14

即使是一个功能最低的网络爬虫也需要比你想象的复杂得多,你所描述的情况并不是问题。爬虫在广度优先搜索的某种变体上进行操作,所以即使它们不做任何检测黑洞的工作,这也不是什么大问题。web爬虫程序的另一个典型功能是避免在短时间内从相同的域中提取大量页面,否则它们将无意中对带宽小于爬虫程序的任何站点执行DOS攻击。

尽管爬虫检测黑洞并不是必须的,但一个好的爬虫可能有各种各样的启发式方法,以避免在低价值页面上浪费时间。例如,它可以选择忽略没有最少英文(或任何语言)文本的页面,只包含链接的页面,似乎包含二进制数据的页面等。启发式算法不必完美,因为搜索的基本广度优先性质确保没有一个网站可以浪费爬虫的时间,而web的绝对大小意味着即使它错过了一些“好”页面,也总是有大量其他好页面可供找到。(当然,这是从网络爬虫的角度来看的;如果你拥有被跳过的页面,这对你来说可能是一个更大的问题,但像谷歌这样运行网络爬虫的公司故意对这类事情的确切细节保密,因为他们不想让人们试图猜测他们的启发式方法。)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13327366

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档