技术专题, 转载

Baidu搜索参数和页面结构(zz)

2009年3月12日 阅读(84)

from:http://www.snowhack.com/blog/catalog.asp?cate=10

1、百度网页搜索的查询参数

必备参数

☆ wd–查询的关键词(Keyword)
☆ pn–显示结果的页数(Page Number)
☆ cl–搜索类型(Class),cl=3为网页搜索

可选参数
☆ rn–搜索结果显示条数(Record Number),取值范围在10–100条之间,缺省设置rn=10
☆ ie–查询输入文字的编码(Input Encoding),缺省设置ie=gb2312,即为简体中文
☆ tn–提交搜索请求的来源站点
几个有用的tn
tn=baidulocal 表示百度站内搜索,返回的结果很干净,无广告干扰。比如,在百度站内搜索“快乐”,看看返回结果是不是很清爽。
tn=baiducnnic 想把百度放在框架中吗?试试这个参数就可以了,是百度为Cnnic定制的

☆ si–在限定的域名中搜索,比如想在新浪的站内搜索可使用参数si=sina.com.cn,要使这个参数有效必须结合ct参数一起使用。

☆ ct–此参数的值一般是一串数字,估计应该是搜索请求的验证码

si和ct参数结合使用,比如在sina.com.cn中搜索"理想",可用:http://www.baidu.com/s?q=&ct=2097152&si=sina.com.cn&ie=gb2312&cl=3&wd=理想

☆ bs–上一次搜索的关键词(Before Search),估计与相关搜索有关

2、百度搜索结果页面结构

按源代码结构自上而下为:

搜索框
右侧的火爆地带固定排名
搜索结果
分页区
相关搜索
底部搜索框
版权区

其中“搜索结果、分页区”这两部分就是我们需要的有效数据,根据其代码结果可以发现其唯一的字符串标识,通过这个标识截取内容就可以了。

百度搜索基本上没有什么反采集的措施,主要一点就是百度隔一段时间会更改返回结果页面的源代码,所以要经常观察百度的搜索结果页面,发现代码变动了,就将几处字符串标识改动一下。在反采集方面,百度比Google大度多了,目前还没发现由于频繁查询百度而出现暂时屏蔽来源站点IP的现象

You Might Also Like