我一直在使用一些高级的javascript应用程序使用大量ajax请求来呈现我的页面。为了使应用程序能够(由谷歌)爬行,我必须遵循https://developers.google.com/webmasters/ajax-crawling/?hl=fr。这告诉我们要做这样的事情:重新设计我们的链接,创建html快照,.使该网站可搜索。
我想知道为什么爬虫不运行javascript来获得呈现的页面和索引。这背后有什么原因?或者这是搜索引擎未来可能会出现的一个缺失的特性?
发布于 2013-10-10 05:17:30
尽管GoogleBot确实处理用js编写的站点。ajax站点的最大问题是,即使GoogleBot可以执行js并处理ajax请求。
web爬虫不可能知道页面何时完成加载。因此,web爬虫可以在开始执行ajax请求之前加载页面并对页面进行索引。假设脚本将在页面滚动中执行。谷歌机器人很可能不会触发所有可能的事件。
另一个问题是导航。
因为导航可以在不重新加载页面的情况下完成,所以一个url可以映射到多个“视图结果”。出于这个原因,google要求开发人员保留一个使用静态页面的页面副本,以支持那些否则无法访问的页面。他们将被编入索引。
如果您的站点可以通过一个完全合格的url访问每个页面。那么你应该没有问题索引你的网站。
也就是说,脚本将被运行。但不确定爬虫在处理完所有脚本后是否会对页面进行索引。
这里有一个链接:
GoogleBot智能:它是在2010年编写的,从那以后,我们可以预料到网络爬虫会变得更加聪明。
发布于 2013-10-10 05:15:02
读取纯比等待/调用javascript函数等更快的,然后通知如何设置页面。我认为这是主要原因。
另一个可能是整个爬行过程都是自动化的--所以,再一次,阅读静态页面要容易得多,而且更有意义。与javascript一样,页面的内容可能每秒钟更改一次,这使爬虫“困惑”。
考虑到,这还没有在搜索引擎中实现,我认为它不会在不久的将来出现。
发布于 2013-10-10 05:22:09
抓取器很难用脚本读取页面,因为这都是动态更改内容的问题。爬虫不仅关心第一次的网站访问,他们每周都会重新检查索引页面--两个在快速模式下,简单地比较一下内容和链接更改的“查找10个差异”。重新检查页面的脚本将是太痛苦和昂贵的爬虫在一个世界的网页。
https://stackoverflow.com/questions/19287476
复制相似问题