Python爬虫基础教程之requests模块

1、 引入

在学习爬虫之前可以先大致的了解一下HTTP协议~

HTTP协议:https://www.cnblogs.com/peng104/p/9846613.html

1  爬虫的基本流程

 

Python爬虫基础教程之requests模块_第1张图片

1.2  简介

简介:Requests是用python语言基于urllib编写的,采用的是Apache2 Licensed开源协议的HTTP库,Requests它会比urllib更加方便,可以节约我们大量的工作。一句话,requests是python实现的最简单易用的HTTP库,建议爬虫使用requests库。默认安装好python之后,是没有安装requests模块的,需要单独通过pip安装

安装方法:pip install requests

开源地址:https://github.com/kennethreitz/requests

中文文档 API:http://docs.python-requests.org/zh_CN/latest/index.html

2、基本语法

requests模块支持的请求:

 

Python爬虫基础教程之requests模块_第2张图片

1  get请求

基本请求

 

Python爬虫基础教程之requests模块_第3张图片

含参数请求

 

Python爬虫基础教程之requests模块_第4张图片

含请求头

 

Python爬虫基础教程之requests模块_第5张图片

含cookies请求

 

Python爬虫基础教程之requests模块_第6张图片

request.session()

 

Python爬虫基础教程之requests模块_第7张图片

2  post请求

data参数

requests.post()用法与requests.get()完全一致,特殊的是requests.post()多了一个data参数,用来存放请求体数据

response=requests.post("http://httpbin.org/post",params={"a":"10"}, data={"name":"peng"})

发送json数据

 

Python爬虫基础教程之requests模块_第8张图片

3  response对象

常见属性

 

Python爬虫基础教程之requests模块_第9张图片

编码问题

 

Python爬虫基础教程之requests模块_第10张图片

下载二进制文件(图片,视频,音频)

 

Python爬虫基础教程之requests模块_第11张图片

解析json数据

 

Python爬虫基础教程之requests模块_第12张图片

 Redirection and History

默认情况下,除了 HEAD, Requests 会自动处理所有重定向。可以使用响应对象的 history 方法来追踪重定向。Response.history 是一个 Response 对象的列表,为了完成请求而创建了这些对象。这个对象列表按照从最老到最近的请求进行排序。

 

Python爬虫基础教程之requests模块_第13张图片

另外,还可以通过 allow_redirects 参数禁用重定向处理:

 

Python爬虫基础教程之requests模块_第14张图片

 

3、 进阶用法

1  proxies代理

如果需要使用代理,你可以通过为任意请求方法提供 proxies 参数来配置单个请求:

 

Python爬虫基础教程之requests模块_第15张图片

也可以通过本地环境变量 HTTP_PROXY 和 HTTPS_PROXY 来配置代理:

 

2  私密代理

 

Python爬虫基础教程之requests模块_第16张图片

3  web客户端验证

如果是Web客户端验证,需要添加 auth = (账户名, 密码)

 

Python爬虫基础教程之requests模块_第17张图片

4、 两个栗子

1、模拟GitHub登录,获取登录信息

 

Python爬虫基础教程之requests模块_第18张图片

2、爬取豆瓣电影信息

 

Python爬虫基础教程之requests模块_第19张图片

你可能感兴趣的:(python)