【Python网络蜘蛛 · 2】:requests模块的使用

目录

一、requests库的基本使用

1、requests模块下载

2、requests的基本使用

使用基本步骤

response.text 和response.content的区别 

二、常用的属性和方法 

1、几种常用的属性和方法 

2、代码演示

 演示:response.url

演示:response.status_code 

演示:response.request.headers 

演示:response.headers 

 演示:response.request._cookies

演示:response.cookies 

三、headers请求

四、发送带参数params 的请求

1、参数params的基本使用 

2、举例:网页搜索


一、requests库的基本使用

1、requests模块下载

requests模块作用:发送http请求,获取响应数据

  • requests模块是第三方模块,需要安装:
  • 输入安装命令:在python的终端输入pip install requests (按回车键进行安装)

【Python网络蜘蛛 · 2】:requests模块的使用_第1张图片

2、requests的基本使用

  • 使用基本步骤

【Python网络蜘蛛 · 2】:requests模块的使用_第2张图片

  • 代码演示

【Python网络蜘蛛 · 2】:requests模块的使用_第3张图片

  • 修改代码,指定解码方式为:utf-8

【Python网络蜘蛛 · 2】:requests模块的使用_第4张图片

  • 运行结果

【Python网络蜘蛛 · 2】:requests模块的使用_第5张图片

  • response.text 和response.content的区别 

 response.text 类型:str 解码类型, requests模块自动根据HTTP 头部对响应的编码作出有根据的推测,推测的文本编码。

response.content 类型:bytes 解码类型,没有指定

  • 代码演示

【Python网络蜘蛛 · 2】:requests模块的使用_第6张图片

【Python网络蜘蛛 · 2】:requests模块的使用_第7张图片

  • 修改代码:在response.content后加上“.decode()”,对获取到的数据以“utf-8”进行编码。

【Python网络蜘蛛 · 2】:requests模块的使用_第8张图片

【Python网络蜘蛛 · 2】:requests模块的使用_第9张图片


二、常用的属性和方法 

1、几种常用的属性和方法 

  •  response.url:响应的url;有时候响应的url和请求的url并不一致
  • response.status_code: 响应状态码
  • response.request.headers: 响应对应的请求头
  • response.headers: 响应头
  • response.request._cookies: 响应对应请求的cookie;返回cookieJar类型
  • response.cookies: 响应的cookie(经过了set-cookie动作;返回cookieJar类型)

2、代码演示

  •  演示:response.url

【Python网络蜘蛛 · 2】:requests模块的使用_第10张图片

  • 演示:response.status_code 

【Python网络蜘蛛 · 2】:requests模块的使用_第11张图片

  • 演示:response.request.headers 

【Python网络蜘蛛 · 2】:requests模块的使用_第12张图片

  • 演示:response.headers 

【Python网络蜘蛛 · 2】:requests模块的使用_第13张图片

  •  演示:response.request._cookies

【Python网络蜘蛛 · 2】:requests模块的使用_第14张图片

  • 演示:response.cookies 

【Python网络蜘蛛 · 2】:requests模块的使用_第15张图片


三、headers请求

一般用法:requests.get(url, headers=headers)

headers参数接收字典形式的请求头,请求头字段名作为key,字段对应的值作为value

【Python网络蜘蛛 · 2】:requests模块的使用_第16张图片

注意: 

添加User-Agent的目的是为了让服务器认为是浏览器在发送请求,而不是爬虫程序在发送请求。 


四、发送带参数params 的请求

1、参数params的基本使用 

通过params携带参数字典:  

  • 构建请求参数字典 ​    
  • 向接口发送请求的时候带上参数字典,参数字典设置给params

【Python网络蜘蛛 · 2】:requests模块的使用_第17张图片

2、举例:网页搜索

通过携带params参数向网页发送指定查询内容的请求

【Python网络蜘蛛 · 2】:requests模块的使用_第18张图片

【Python网络蜘蛛 · 2】:requests模块的使用_第19张图片

  • 发现每次搜索结束的浏览器的网址url有一个共同点:

https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&tn=baidu&wd=

不同之处就在参数“wd=”后的值,第一张图的结果:“wd=python”,第二张图的结果:“wd=java”,其值正是我们要查询的值。

  • 于是用python模拟浏览器的搜索引擎,获取网页源码。代码实现如下:

【Python网络蜘蛛 · 2】:requests模块的使用_第20张图片

你可能感兴趣的:(Python网络蜘蛛,python,爬虫,开发语言)