在用Python爬取百度搜索的内容时,发现百度搜索的url非常的长,往往会跟一大段的参数,但其实很多参数都是没有必要的,如同样是搜索java关键字,可以通过 http://www.baidu.com/s?wd=java 如此简单的URL来获取,而下面这个超级复杂的URL也是同样进行了关键字java的搜索:

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 (WorD)
查询关键字,就是你要搜索的内容。

rn (Record Number)
搜索结果页每页显示的数目,默认为10,最大可以设置为50

pn (Page Number)
显示结果的页数,缺省为0,其它页面需要每页递增rn,如当rn为默认值时,第三页的pn应为20。

ie (Input Encoding)
查询关键字的编码格式,默认为gb2312,即为简体中文

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

https://www.baidu.com/s?word=java&tn=sitehao123&ie=utf-8

提交搜索请求的来源站点,这是百度与免费软件合作时的利益来源,举例来说我们使用的一些免费浏览器中所提供的百度搜索时,URL地址中都带有tn=内容,tn=后面的内容就是百度联盟的账号。如:Firefox的tn=suvion_dg(tn=suvion_4_dg),傲游的tn=myie2dg,The World的tn=suvion_4_pg,只要你使用了这些带有tn=的搜索,只要点击了其中的广告,提供该软件的浏览器就会从中赚取利益。搜索结果有个例外,当tn=baidulocal时,你可以得到一个无竞价无广告的百度搜索结果.

注:我们可以看到很多参数其实都是缩写,如wd用word也是可以的

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

rsv_spt 
这个参数具体含义不是很清楚,经过测试可以看出来登录了百度账号且在首页进行搜索时会有这个参数,且值为1,如果没有登录或登录后在搜索结果页搜索时不会出现这个参数。网上查找了一些资料,感觉比较靠谱的是这表示首页搜索类型,1表示新版百度首页搜索(先要登录百度帐号),2表示百度实时热点搜索(先要登录百度帐号),3表示传统百度首页搜索。

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

oq 
这个关键词网上有些帖子说是搜索下拉栏相关的,但根据我的测试,这个参数现在好像就仅仅代表上次的搜索关键字。

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

si

在限定的域名中搜索,比如想在本站内搜索可使用参数si=www.wfshui.com,要使这个参数有效必须结合ct参数一起使用:ct=2097152

百度URL参数解析

标签:

原文地址:http://blog.csdn.net/u013291394/article/details/50444369

百度URL参数解析的更多相关文章

  1. java 获取url及url参数解析

    java  获取url及url参数解析 一.url编码:URLEncoder.encode(userName); 二.url解码: URLDecoder.decode(userName);

  2. javascript js获取url及url参数解析

    js获取url及url参数解析 一.获取url: var url=window.location.herf; 二.url参数解析: function GetRequest() { var url = ...

  3. Mysql 连接路径 url 参数解析

    1.mysql - url 参数解析 url:jdbc:mysql://127.0.0.1:3306/user?useUnicode=true&characterEncoding=utf8 u ...

  4. 百度url 参数详解全

    百度url解析Joe.Smith整理大全 百度url解析Joe.Smith整理大全...1 本文链接:http://blog.csdn.net/qq_26816591/article/details/ ...

  5. url参数解析

    http://happycoder.net/parse-querystring-using-regexp/ http://www.cnblogs.com/babycool/p/3169058.html ...

  6. url参数解析 and 日期格式化

    ~function (pro) { //url解析 function queryURLParameter() { var reg = /([^?&=#]+)=([^?&=#]+)/g, ...

  7. 编写一个JavaScript函数 parseQueryString,把URL参数解析为一个对象

    var url="http://www.taobao.com/index.php?key0=0&key1=1&key2=2"; function parseQuer ...

  8. js url参数解析获取

    function get_url_parm_list(str){ var params=str.substr(str.indexOf('?')+1); var param_list=[]; while ...

  9. 编写一个参数JavaScript函数parseQueryString,它的用途是把url参数解析为一个对象

    var url = "http://www.taobao.com/index.php?key0=0&key1=1&key2=2............."; var ...

随机推荐

  1. Linux shell脚本基础学习详细介绍(完整版)二

    详细介绍Linux shell脚本基础学习(五) Linux shell脚本基础前面我们在介绍Linux shell脚本的控制流程时,还有一部分内容没讲就是有关here document的内容这里继续 ...

  2. java 泛型 类型作为参量 Class<T> transform

    Class<T> transform T:作为类型,用于定义变量: transform:作为具体类的类:用于创建实例. 类型信息是脱敏的具体类: 可以使用class的具体功能: 不能使用具 ...

  3. Squeeze Excitation Module 对网络的改进分析

    Squeeze-and-Excitation Networks SE-net 来自于Momenta 孙刚团队 SE的设计思路: 从卷积操作的实际作用来考虑,conv 把局部空间信息和通道信息组合起来, ...

  4. ABP 03 解决 编辑User报错

    1.编辑用户时,报错.后面有跟解决方案. 解决方案1: 2.导致出错的原因是这样的,这里的功能是请求服务端的html页面,渲染后显示编辑页面. 关键点是默认参数那儿 路径:\aspnet-core\s ...

  5. Eclipse中如何配置lombok

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/qq_41441210/article/d ...

  6. 牛客网 牛客练习赛4 A.Laptop-二维偏序+离散化+树状数组

    A.Laptop 链接:https://ac.nowcoder.com/acm/contest/16/A来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 131072K,其 ...

  7. SQL进阶-隐式类型转换

    一.隐式类型转换 1.隐式类型转换 隐式类型转换: '; 程序可读性差,且依赖数据库的隐式转换规则,如果数据库升级,则程序可能无法正确执行: 有可能会导致索引失效: 有可能会导致意想不到的结果: 显式 ...

  8. fiddler实现B/S端、APP抓包分析遇到的各种疑问

    阅读本文前您需要先下载fiddler并成功安装,并且要有一丢丢测试和接口基础或者在学习fidder时遇到了问题,或许本文可以帮助到你 一.B/S端抓包 Fiddler设置 1. 官网下载fiddler ...

  9. sql注入用<>绕过被过滤的select ——百度杯9月第二场SQL

    题目提示SQL注入,打开源代码发现<!--SELECT * FROM info WHERE id=1--> 尝试union select 1,2,3提示inj code! 经过多次尝试之后 ...

  10. Intellij idea利用Statistic插件统计项目代码行数

    1 . 插件介绍统计项目中各个文件的数量,大小,行数,平均等信息根据扩展名自定义统计详细行数信息 , 包括总行数,代码行数,代码行数占比,注释行数,注释行数占比,空白行数,空白行数占比自定义选择多个文 ...