事实证明,谷歌的爬虫可以运行网页中的js脚本

Google能够分析并理解某些JavaScript,爬虫还能够像人一样与各类程序发生互动,工程师已经教会了其爬虫如何执行部分js代码,能够理解部分js代码

事实证明,谷歌的爬虫可以运行网页中的js脚本

一直以来Google的搜索爬虫就具有阅读JavaScript代码的功能,但是多年以来我们一直都不清楚Google的爬虫是否真正理解了其正在抓取的东西或者说它仅仅只是在易于理解的数据结构中对各种链接进行呆板的检索。本周五,一位Google的发言人向《福布斯》确认Google所作的远远超过对js代码的简单分析。这位发言人表示:“Google能够分析并理解某些JavaScript”。

Google的表述让我们意识到其爬虫所作的工作也许不仅仅只是获得对页面的相关链接,还能够像人一样与各类程序发生互动——发现Bing这类搜索引擎所不能发现的网络世界。而这意味着,Google重新定义了搜索引擎。在Google的搜索结果里面只有很少的js代码,而且Google也将这种js代码的解释功能做了很多保留。比如在Google站点搜索(Google‘s Site Search)的文档显示其不能够索引带有js代码的内容。一本关于索引的入门教材这样写道:它(Google爬虫)“不能够处理带有富媒体的内容或者是动态网页”。仔细检查服务器日志中的记录我们便可以发现Google现在索引那些并不是直接包含在js代码里面的链接,Google的爬虫只有确定自己能够运行部分代码的时候才能明白整段代码到底是什么意思。

Mark Drummond,一家独立搜索引擎公司Wowd的首席执行官(我们在今年之前的杂志中采访过他)在一封邮件中告诉我们理解js代码“是一个非常深刻、难度极大和一场经典的计算科学难题。”他解释道Google的努力在于它能够发现js代码在网页中是否存在停止运行的情况。他表示“停止运行的问题是无法判定的”,他说迄今为止还没有已知的算法能够在任何程序的任何时间点告诉我们该程序是否陷入了死循环,而且数学上已经证明了这一点。Drummond自己的公司通过人工的方式检索其索引并标明是否有可能简化这个复杂的问题,同时判断一个网络程序是否向另外的程序发起了数据请求。也许,这正是Google现在在做的事情。

另一位同Google接近的搜索引擎人士也认同Drummond关于理解js代码复杂性的看法。他认为用一个程序去分析另一个程序是很困难的事情,执行js代码几乎是现阶段能够做到的极限了。

而Google在六月发布的改进版搜索算法(即Caffeine)似乎开始能够理解部分js代码了。如果这是真的,那么Google的工程师已经教会了其爬虫如何执行部分js代码。这真是一大突破!

本文来自投稿,不代表【】观点,发布者:【

本文地址: ,如若转载,请注明出处!

举报投诉邮箱:253000106@qq.com

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2024年5月6日 08:27:14
下一篇 2024年5月6日 08:29:17

相关推荐

  • linux编程定时器,linux定时器执行脚本

    Linux中断与定时器? 1、bit[7]——IRQF标志,中断请求标志,当该位为1时,说明寄存器B中断请求 发生。bit[6]——PF标志,周期性中断标志,为1表示发生周期性中断请求。 bit[5]——AF标志,告警中断标志,为1表示发生告警中断请求。 2、定时器在硬件上也以来中断,PIT(可编程间隔定时器)接收一个时钟输入,当时钟脉冲到来时,将目前计数值…

    2024年5月23日
    4200
  • linuxjdk安装脚本,linux的jdk安装步骤

    在linux系统中怎么安装jdk 1、手动安装jdk,首先需要下载jdk,记住是linux版本的jdk,直接去官网下载就行了。上传到linux操作系统的桌面。 2、第一种:用包管理工具自动去云仓库中下载指定版本jdk并自动安装。用命令行方式 利用包管理(红帽系的linux 是 yum ,debian系的linux 是 apt )去自动下载与安装。 3、我们需…

    2024年5月23日
    4700
  • linux批量关机脚本,linux自动关机脚本

    linux系统在控制台下每天的定时关机指令如何编写? (1)linux下自动关机–》如果你想在10分钟以后关机的话:可使用命令:shutdown -h +10 ,但是你突然不想10分钟以后关机的话就是用ctrl+c强制终止命令。 at命令只能执行一次,可以利用crontab计划任务来实现。 命令的主体主要是 Shutdown,h/r/s 分别代表…

    2024年5月23日
    4300
  • linux脚本赋值,linux赋值变量

    linuxsh脚本变量赋值与read的差别 在shell脚本中,用来读取文件内各个域的内容并将其赋值给Shell变量的命令是:read-pinputaval:valecho$val。read-从标准输入读取数值。这个read内部命令被用来从标准输入读取单行数据。while条件do…done应该前面还有个do的。 在shell脚本中,用来读取文件内…

    2024年5月23日
    4900
  • c语言查看linux主机ip的脚本,linux命令查看本机ip

    linux查看ip命令 目录方法1:使用Ubantu(乌班图)界面右键点击通知区域里的网络图标。点击网络连接信息。方法2:在大多数Linux系统里输入终端命令打开终端程序。输入以下命令:ipaddrshow。每个设备的IP地址位于inet字符后面。 首先打开linux操作系统在进入到界面。在桌面右击打开终端。在终端里输入ifconfig -a命令在回车键。显…

    2024年5月22日
    4100
  • 爬虫用java还是python,爬虫跟java哪个好

    学Java好还是学Python好? Java作为发展已经很成熟的编程语言,可以说是无处不在,学好java就业机会非常多。而python随着人工智能时代的到来而火爆,容易入门,未来发展空间巨大。可以说,python和java都是非常值得学的。 对于从事大型软件开发或者需要与底层系统交互的开发者来说,学习Java是一个不错的选择。Python是一种简洁、易学且功…

    2024年5月22日
    4200
  • javagui自动化测试,java编写自动化测试脚本

    自动化测试的工具有哪些 1、Selenium无疑是受欢迎的Web自动化测试工具。其开源的特性是被广泛使用的原因之一。您可以使用不同的语言在Selenium中实施各种框架,从而为自动化测试提供更多的功能。 2、测试类型可以包括:白盒测试、黑盒测试(功能测试、性能测试)等。不同的测试类型使用的自动化测试方法不同,白盒测试主要针对代码级的单元测试、黑盒测试主要面对…

    2024年5月22日
    4100
  • linux测io脚本,linux测试ping

    linux系统如何查看网络IO? 1、.0% wa 的百分比可以大致的体现出当前的磁盘io请求是否频繁。如果 wa的数量比较大,说明等待输入输出的的io比较多。第二种:用vmstat vmstat 命令报告关于线程、虚拟内存、磁盘、陷阱和 CPU 活动的统计信息。 2、查看linux进程占用端口步骤如下:lsof -i 用以显示符合条件的进程情况,lsof(…

    2024年5月22日
    4500
  • linux页表初始化,Linux初始化脚本

    嵌入式Linux系统的如何进行初始化 )初始化RAM因为Linux内核一般都会在RAM中运行,所以在调用Linux内核之前Bootloader必须设置和初始化RAM,为调用Linux内核做好准备。初始化RAM的任务包括设置CPU的控制寄存器参数,以便能正常使用RAM以及检测RAM大小等。 Linux 内核在完成系统的初始化之后需要挂载某个文件系统作为根文件系…

    2024年5月22日
    4200
  • linux测试cpu脚本,linux cpu测试命令

    linux系统怎么查看cpu使用情况 1、使用top命令 top命令是一个常用的Linux系统监控命令,可以实时查看系统的进程和资源使用情况。可以使用以下命令来查看CPU使用率:top 启动top命令后,会显示当前系统的各项资源使用情况,包括CPU使用率。 2、查看内存使用情况:cat /proc/meminfo,查看CPU使用情况:cat /proc/cp…

    2024年5月22日
    4500

发表回复

登录后才能评论



关注微信