requests 模块是对 urllib 的封装,它是一种伪装成浏览器对网页服务器发动申请从而取得响应的爬虫形式。不同于后面说到的下载整个网页的模式,requests 模块能够增加申请头、参数信息对具体的网页接口发动申请,是一种部分模式的爬虫技术。
requests 模块通过向服务器发送 http 申请获取数据,同时反对 get、post 的协定申请办法。在爬虫过程中,能够通过查问参数、申请头等信息的管制取得咱们须要的响应的信息,同时 post 办法更是反对上传等形式获取等精准的爬虫数据。
1、GET 办法:不增加任何申请参数
1# -*- coding: UTF-8 -*- 2import requests 3 4# 定义申请的 url 地址 5url = "http://httpbin.org" 6 7# 应用 GET 办法发动申请 8response = requests.get(url=url) 910# 打印响应状态,200 示意胜利11print "响应状态",response.status_code12# 打印网页文本13print "网页文本:",response.text
2、GET 办法:增加申请参数
1# -*- coding: UTF-8 -*- 2import requests 3 4# 定义申请的 url 接口(须要申请的接口),假如接口 http://httpbin.org/get 5url = "http://httpbin.org/get" 6 7# 定义申请头部信息(字典类型) 8headers = { 9 "Accept": "*/*",10 "Accept-Encoding": "gzip",11 "User-Agent": "",12}1314# 定义申请参数信息(字典类型)15params = {'name': 'Python 集中营', 'type': 'python'}1617# 应用 GET 办法发动申请(退出头部信息、退出参数信息)18response = requests.get(url=url,headers=headers,params=params)1920# 打印响应状态,200 示意胜利21print "响应状态",response.status_code22# 打印响应信息23print "响应信息:",response.content
3、POST 办法:提交一般数据
1# -*- coding: UTF-8 -*- 2import requests 3 4# 定义申请的 url 接口(须要申请的接口),假如接口 http://httpbin.org/post 5url = "http://httpbin.org/post" 6 7# 定义申请头部信息(字典类型) 8headers = { 9 "Accept": "*/*",10 "Accept-Encoding": "gzip",11 "User-Agent": "",12 # 定义申请数据格式、json13 "Content-Type": "application/json",14}1516# 定义申请参数信息(字典类型)17params = {'name': u'Python 集中营', 'type': 'python'}1819# 应用 POST 办法发动申请(退出头部信息、退出参数信息)20# 设置这里的数据参数 data = params21response = requests.post(url=url,headers=headers,data=params)2223# 打印响应状态,200 示意胜利24print "响应状态",response.status_code25# 打印响应信息26print "响应信息:",response.content
4、POST 办法:提交文件数据
1# 文件参数(字典类型) 2files = { 3 'file': ( 4 # 文件名称 5 'python.png', 6 # 文件门路、关上文件 7 open('C:/python.png', 'rb'), 8 # 文件类型、图片 9 'image/png'),10}1112# 应用 POST 办法发动申请(退出头部信息、退出参数信息)13# 设置这里的数据参数 data = params(定义好的参数)14# 设置文件参数 files = files(定义好的文件)15response = requests.post(url=url, headers=headers, data=params, files=files)16# 打印响应状态,200 示意胜利17print "响应状态", response.status_code18# 打印响应信息19print "响应信息:", response.content
更多精彩返回微信公众号【Python 集中营】,专一于 python 技术栈,材料获取、交换社区、干货分享,期待你的退出~