今天,Internet上的很多内容都是使用JavaScript(特别是后台AJAX调用)生成的.我想知道像Google这样的网络抓取工具如何处理它们.他们是否了解JavaScript?他们有内置的JavaScript引擎吗?或者他们是否简单地忽略了页面中所有JavaScript生成的内容(我猜不太可能).人们是否使用特定的技术来获取索引的内容,否则这些内容可以通过后台AJAX请求提供给普通的互联网用户?
JavaScript由Bing和Google抓取工具处理.Yahoo使用Bing抓取工具数据,因此也应该进行处理.我没有关注其他搜索引擎,所以如果你关心它们,你应该查找它们.
Bing在2014年3月发布了有关如何创建与其爬虫(主要与之相关pushState
)的基于JavaScript的网站的指导,这些网站通常是良好的做法:
避免创建断开的链接 pushState
避免创建链接到相同内容的两个不同链接 pushState
避免遮盖.(这是Bing发表的一篇关于2007年隐形检测的文章)
支持无法处理的浏览器(和爬虫)pushState
.
Google后来在2014年5月发布了有关如何创建与其抓取工具一起使用的基于JavaScript的网站的指南,并建议他们提出建议:
不要阻止robots.txt文件中的JavaScript(和CSS).
确保您可以处理爬虫的负载.
支持无法处理的浏览器和抓取工具(或不允许使用JavaScript的用户和组织)是个好主意
依赖于语言的神秘或特定功能的棘手JavaScript可能无法与爬虫一起使用.
如果您的JavaScript从页面中删除了内容,则可能无法编入索引.周围.
他们中的大多数都没有以任何方式处理Javascript.(至少,所有主要搜索引擎的抓取工具都没有.)
这就是为什么让您的网站在没有Javascript的情况下优雅地处理导航仍然很重要的原因.