怎样从google搜索结果页面提取出第n个结果?

软件和网站开发以及相关技术探讨
回复
iheartpp
帖子: 133
注册时间: 2008-09-18 20:15
送出感谢: 3 次
接收感谢: 0

怎样从google搜索结果页面提取出第n个结果?

#1

帖子 iheartpp » 2011-05-04 20:42

如题。
我看了一下google的搜索结果的html,发现看不太懂。
头像
linjiework
帖子: 240
注册时间: 2009-07-07 19:52
送出感谢: 0
接收感谢: 0

Re: 怎样从google搜索结果页面提取出第n个结果?

#2

帖子 linjiework » 2011-05-05 9:30

谷歌的搜索结果应该是通过 Ajex 或者 JavaScript 显示出来的,并不是直接嵌套在页面里,你需要找到相应的代码分析出来。
阿呆 : 天下第一呆!
gpgkd906
帖子: 23
注册时间: 2011-01-04 11:49
送出感谢: 0
接收感谢: 0

Re: 怎样从google搜索结果页面提取出第n个结果?

#3

帖子 gpgkd906 » 2011-05-14 23:27

半年前写过一个检查google排名的代码
刚才去google搜索大致看了一下,没有太大变化
目前还没有用javascript来对结果进行处理。

首先你要找到搜索结果所在的区块,半年前这个区块是可以用<ol>[\s\S]+</ol>来提取出来的,但是现在已经变化了,这个很正常,google每隔一段时间都会对这个部分进行改变的,不过变化也不太大
现在是<ol id="rso">[\s\S]+</ol>,中间没有ol元素,所以可以直接提取出来。
goole搜索的每个结果都是以<li class=g来开头了,根据浏览器不同,源代码显示可能不太一样,也可能是<li class="g,然后一直找到最近的一个</div>,为什么不是/li>,因为不是对DOM进行解析,只需要找到需要的部分就是可以了。
<li class="g开始到</div>的内容就对应了一个搜索结果,你把这些结果全部提取出来以后,进行排序查找就可以了。
iheartpp
帖子: 133
注册时间: 2008-09-18 20:15
送出感谢: 3 次
接收感谢: 0

Re: 怎样从google搜索结果页面提取出第n个结果?

#4

帖子 iheartpp » 2011-05-25 14:47

gpgkd906 写了:半年前写过一个检查google排名的代码
刚才去google搜索大致看了一下,没有太大变化
目前还没有用javascript来对结果进行处理。

首先你要找到搜索结果所在的区块,半年前这个区块是可以用<ol>[\s\S]+</ol>来提取出来的,但是现在已经变化了,这个很正常,google每隔一段时间都会对这个部分进行改变的,不过变化也不太大
现在是<ol id="rso">[\s\S]+</ol>,中间没有ol元素,所以可以直接提取出来。
goole搜索的每个结果都是以<li class=g来开头了,根据浏览器不同,源代码显示可能不太一样,也可能是<li class="g,然后一直找到最近的一个</div>,为什么不是/li>,因为不是对DOM进行解析,只需要找到需要的部分就是可以了。
<li class="g开始到</div>的内容就对应了一个搜索结果,你把这些结果全部提取出来以后,进行排序查找就可以了。
many thanks
回复

回到 “软件/网站开发”