百度URL參数解析

百度URL參数解析


在用Python爬取百度搜索的内容时,发现百度搜索的url非常的长。往往会跟一大段的參数,但事实上非常多參数都是没有必要的,如相同是搜索javakeyword,能够通过 http://www.baidu.com/s?wd=java 如此简单的URL来获取。而以下这个超级复杂的URL也是相同进行了keywordjava的搜索:

http://www.baidu.com/s?wd=java&rsv_spt=1&rsv_iqid=0xd3c8c51900052eb3&issp=1&f=8
&rsv_bp=1&rsv_idx=2&ie=utf-8&tn=baiduhome_pg&rsv_enter=1&oq=python%20org&inputT=801
&rsv_t=8810tNAXi7Yc2PivScHthQ7bBz%2B4eIBHvrdmB59u%2FlLVYrhnyyTg1%2FYJzQM9EAEgSPn5
&rsv_pq=8f0a85f900051202&rsv_sug3=15&rsv_sug2=0&rsv_sug7=000&rsv_sug4=801&rsv_sug=2

那么后面的那么多的參数有什么用呢?

wd
查询keyword,就是你要搜索的内容。

rn
搜索结果页每页显示的数目。默觉得10,最大能够设置为50

pn
显示结果的页数。缺省为0,其他页面须要每页递增rn,如当rn为默认值时。第三页的pn应为20。

ie
查询keyword的编码格式。默觉得gb2312。即为中文简体

tn
提交的搜索请求的来源。我们常常能够看到非常多站点上都有嵌入了百度的搜索框,这个參数能够确定当前的搜索是来自哪个站点的。如以下的URL就是通过www.hao123.com站点首页的百度搜索框搜索得到的:

https://www.baidu.com/s?

word=java&tn=sitehao123&ie=utf-8

注:我们能够看到非常多參数事实上都是缩写,如wd用word也是能够的

rsv_bp
这是表示了是百度网页上的哪一个搜索框,如通过百度首页中间的搜索框进行搜索时。该值为0。在搜索结果页上面的搜索框进行搜索时为1。

rsv_spt
这个參数详细含义不是非常清楚,经过測试能够看出来登录了百度账号且在首页进行搜索时会有这个參数,且值为1,假设没有登录或登录后在搜索结果页搜索时不会出现这个參数。网上查找了一些资料,感觉比較靠谱的是这表示首页搜索类型,1表示新版百度首页搜索(先要登录百度帐号),2表示百度实时热点搜索(先要登录百度帐号),3表示传统百度首页搜索。

cl
这个參数是提交的搜索类型,如搜索网页时为3,搜索新闻时为2

oq
这个关键词网上有些帖子说是搜索下拉栏相关的,但依据我的測试。这个參数如今好像就只代表上次的搜索keyword。

还有非常多參数如rsv_**这些參数的意义不是非常明白,此外上面的參数測试可能也不是非常全面,理解可能也有偏差,如有错误。欢迎交流。

posted on 2018-01-22 20:41  yjbjingcha  阅读(248)  评论(0编辑  收藏  举报

导航