一、requests库的基本使用
1、requests库模块的下载安装
requests模块作用:发送http请求,获取响应数据
requests模块是第三方模块,需要安装:
输入安装命令:在python的终端输入pip install requests (按回车键进行安装)
2、requests的基本使用
基本步骤:
代码演示:
修改后的代码:
运行结果:
response.text 和response.content的区别:
response.text 类型:str 解码类型: requests模块自动根据HTTP 头部对响应的编码作出有根据的推测,推测的文本编码。
response.content 类型:bytes 解码类型: 没有指定。
代码演示:
修改后的代码:
二、常用的属性和方法
response.url:响应的url;有时候响应的url和请求的url并不一致
response.status_code: 响应状态码
response.request.headers: 响应对应的请求头
response.headers: 响应头
response.request._cookies: 响应对应请求的cookie;返回cookieJar类型
response.cookies: 响应的cookie(经过了set-cookie动作;返回cookieJar类型)
代码演示:
三、headers请求
requests.get(url, headers=headers)
headers参数接收字典形式的请求头,请求头字段名作为key,字段对应的值作为value
添加User-Agent的目的是为了让服务器认为是浏览器在发送请求,而不是爬虫程序在发送请求。
四、发送带参数params 的请求
通过params携带参数字典:
1.构建请求参数字典
2.向接口发送请求的时候带上参数字典,参数字典设置给params
以百度为例
发现每次搜索结束的浏览器的网址url有一个共同点:
https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&tn=baidu&wd=
不同之处就在参数“wd=”后的值,第一张图的结果:“wd=python”,第二张图的结果:“wd=java”,其值正是我们要查询的值。
于是用python模拟浏览器的搜索引擎,获取网页源码。代码实现如下: