如今,Internet 上的许多内容都是使用 JavaScript 生成的(特别是通过后台 AJAX 调用)。我想知道像谷歌这样的网络爬虫是如何处理它们的。他们了解 JavaScript 吗?他们有内置的 JavaScript 引擎吗?或者他们是否简单地忽略页面中所有 JavaScript 生成的内容(我猜不太可能)。人们是否使用特定技术对其内容进行索引,而普通 Internet 用户可以通过后台 AJAX 请求获得这些内容?
最佳答案
JavaScript 由 Bing 和 Google 抓取工具处理。雅虎使用 Bing 爬虫数据,因此也应该进行处理。我没有研究过其他搜索引擎,所以如果你关心它们,你应该查找它们。
Bing published guidance in March 2014关于如何创建与其爬虫一起工作的基于 JavaScript 的网站(主要与 pushState
相关),这通常是良好的做法:
- 避免使用
pushState
创建损坏的链接 - 避免使用
pushState
创建两个链接到相同内容的不同链接 - 避免 cloaking 。 (Here's an article Bing published about their cloaking detection in 2007)
- 支持无法处理
pushState
的浏览器(和抓取工具)。
Google later published guidance in May 2014至于如何创建与他们的爬虫配合使用的基于 JavaScript 的网站,也推荐他们的建议:
- 不要阻止 robots.txt 文件中的 JavaScript(和 CSS)。
- 确保您能够承受抓取工具的负载。
- 最好支持无法处理(或不允许)JavaScript 的浏览器和抓取工具
- 依赖于语言的神秘或特定功能的棘手 JavaScript 可能无法与抓取工具一起工作。
- 如果您的 JavaScript 从页面中删除内容,则该内容可能不会被编入索引。 周围。
关于javascript - 网络爬虫如何处理javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1785083/