如何抓取google的搜索结果?

来源:互联网 发布:windows pe安装器 编辑:程序博客网 时间:2024/05/02 01:53

 昨天周末快下班的时候,看到QQ群一朋友在在问"如何抓取google的搜索结果?",平时这群高手也众多,都很活跃,今天突然没动静了(估计周末忙),我就去看了下google 的搜索结果页面的源码。源码中没有实际的“搜索的文字”,只是大量的js。虽然google的js代码写的阅读性不强,我也没有格式化去阅读,就试着找一些关键点(比方说 和ajax相关的,一些包含的其他js).我发现了一点东西:

http://www.google.com.hk/complete/search?q=hello 打开这个会得到一个js 文件,内容如下:

window.google.ac.h(["hello",[["hello kitty","","0"],["hello kitty专卖店","","1"],["hello kitty图片","","2"],["hello","","3"],["hello kitty 手机","","4"],["hello world","","5"],["hello pizza","","6"],["hello teddy","","7"],["hellotxt","","8"],["hellocq","","9"]],{"k":1}])

这里包含了“hello”的 相关关键词。(发挥你的想象,至少这个当做seo的数据源。)

不过还没有解决到上面的问题,又接着看代码(还是跳跃式的看),突然发现一句:“no_ajax_no_load.js”的时候,突然想到不支持ajax的用户能使用google吗?google这么大的公司肯定不会放弃禁止使用javascript的用户,我禁止javascript后测试后发现如下地址:

http://www.google.com.hk/search?hl=zh-CN&newwindow=1&safe=strict&gbv=1&q=hello

好了,问题解决了,搜索结果页面 源代码中包含抓取的内容,使用此url也不需要禁用javascript了。

 

说明:我没有实际写代码做抓取结果的测试,但我用站长的机器人工具(http://tool.chinaz.com/Tools/Robot.aspx)能获取内容。当然我想google肯定也相关的限制,比如:同一ip的访问频率限制等。

 

0 0
原创粉丝点击