Request库的安装与使用
Request库的安装与使用
安装
pip install reqeusts
Requests库的7个主要使用方法
- requests.request() 构造一个请求,支撑以下各方法的基础方法
- requests.get() 获取HTML网页的主要方法,对应HTTP的GET方法
- requests.head() 获取HTML网页头信息的方法,对应HTTP的HEAD
- requests.post() 向HTML网页提交POST请求的方法,对应HTTP的POST
- requests.put() 向HTML网页提交PUT请求的方法,对应HTTP的PUT
- requests.patch() 向HTML网页提交局部修改请求,对应于HTTP的PATCH
- requests.delete() 向HTML页面提交删除请求,对应HTTP的DELETE
Response对象的属性
- r.status_code HTTP请求的返回状态,200表示连接成功,404表示失败
- r.text HTTP响应的正文字符串
- r.encoding 从HTTP header中猜测的响应内容编码方式
- r.apparent_encoding 从内容中分析出的响应编码方式
- r.content HTTP响应内容的二进制形式
使用get方法的流程
检查r.status_code,如果返回200,继续处理,如果返回404,则说明访问出错。
encoding 和 apparent_encoding的区别
encoding是header的charset中记录的编码,若没有改标签,则默认为iso-8859-1
apparent_encoding是分析文本内容中出现的字符确定的编码。
一般来说如果文本编码识别错误,可以将apprent_encoding赋值给r.encoding
Requests库的异常
requests.ConnectionError 网络连接错误异常,如DNS查询失败、拒绝连接
requests.HTTPError HTTP错误异常
requests.URLRquired URL确实异常
requests.TooManyRedirects 超过最大重定向次数,产生重定向异常
requests.ConnectTimeout: 远程连接超时异常
requests.Timeout: 请求URL超时,产生超时异常
r.raise_for_status() 如果返回的状态码不是200,则会产生requests HTTPError异常
request方法
requests.requst(method,url,**kwargs)
method:请求方式,对应get/put/post等7种
r = requests.request(‘GET’,url,**kwargs)
r = requests.request(‘HEAD’,url,**kwargs)
r = requests.request(‘POST’,url,**kwargs)
r = requests.request(‘PUT’,url,**kwargs)
r = requests.request(‘PATCH’,url,**kwargs)
r = requests.request(‘DELETE’,url,**kwargs)
r = requests.request(‘OPTIONS’,url,**kwargs)
url:页面的链接
**kwargs: 控制访问的参数,共13个
- params: 字典或字节序列,作为参数增加到url中
- data: 字典、字节序列或文件对象,作为Request的内容
- json: JSON格式的数据,作为Request的内容
- header: 字典,HTTP定制头
hd = {'user-agent':'Chrome/10'}
r = requests.request('POST','HTTP://python123.io/ws',headers=hd)
- cookies:字典或CookieJar,Request中的cookie
- auth :元组,支持HTTP认证功能
- files: 字典类型,传输文件
fs = {'file':open('data.xls','rb')}
r = requests.request('POST','http://python123.io/ws',files=fs)
- timeout:给请求设置超时时间
- proxies: 字典类型,设定访问代理服务器,可以增加登录认证
pxs = {'http':'http://user:pass@10.10.10.1':1234'
'http':'http://10.10.10.1:4321'
}
r = requests.request('GET','http://www.baidu.com',proxies=pxs)
- allow_redirects: True/False,默认为True,重定向开关
- stream: True/False,默认为True,获取内容立即下载开关
- verify: True/False,默认为True,认证SSL证书开关
- cert: 本地SSL证书路径
Request库的安装与使用的更多相关文章
- Robot Framework中经常用的第三方库的安装方法
pip升级:python -m pip install --upgrade pip 一.安装robotframework-selenium2library,相当于python中的selenium ...
- Python3 urllib.request库的基本使用
Python3 urllib.request库的基本使用 所谓网页抓取,就是把URL地址中指定的网络资源从网络流中读取出来,保存到本地. 在Python中有很多库可以用来抓取网页,我们先学习urlli ...
- Python爬虫--- 1.1请求库的安装与使用
来说先说爬虫的原理:爬虫本质上是模拟人浏览信息的过程,只不过他通过计算机来达到快速抓取筛选信息的目的所以我们想要写一个爬虫,最基本的就是要将我们需要抓取信息的网页原原本本的抓取下来.这个时候就要用到请 ...
- Python3 常用爬虫库的安装
Python3 常用爬虫库的安装 1 简介 Windows下安装Python3常用的爬虫库:requests.selenium.beautifulsoup4.pyquery.pymysql.pymon ...
- windows下python常用库的安装
windows下python常用库的安装,前提安装了annaconda 的python开发环境.只要已经安装了anaconda,要安装别的库就很简单了.只要使用pip即可,正常安装好python,都会 ...
- Python爬虫学习==>第五章:爬虫常用库的安装
学习目的: 爬虫有请求库(request.selenium).解析库.存储库(MongoDB.Redis).工具库,此节学习安装常用库的安装 正式步骤 Step1:urllib和re库 这两个库在安装 ...
- dev c++ Boost库的安装
dev c++ 的boost库的安装步骤 然后点击“check for updates”按钮 最后点击“Download selected”按钮,下载完成后安装.... 给dev添加boost库文件, ...
- 机器学习库shark安装
经过两天的折腾,一个对c++和机器学习库的安装都一知半解的人终于在反复安装中,成功的将shark库安装好了,小小纪念一下,多亏了卡门的热心帮忙. shark的安装主要分为以下几个部分: (1)下载 s ...
- Python库的安装方法
Python库的安装方法 Python的解释器CPython是开源的,我们可以下载查看其源代码,同时,Python语言的各种库也都是开源的.利用Python语言编程,可用的库有很多,在Python官方 ...
随机推荐
- react根据传参的不同动态注册不同的子组件
上一篇文章介绍了关于Vue如何根据传参的不同动态注册不同的子组件,实现过程请查阅Vue.extend动态注册子组件,由Vue的这个功能我就自然联想到了使用react该如何实现同样的功能呢.其实,用re ...
- 前端笔记7-js3
1.方法: //创建一个对象var obj = {name:"孙悟空",age:18}; //对象的属性也可以是对象 obj.brother = {name:"猪八戒&q ...
- 编写TypeScript工具类型,你需要知道的知识
什么是工具类型 用 JavaScript 编写中大型程序是离不开 lodash 工具的,而用 TypeScript 编程同样离不开工具类型的帮助,工具类型就是类型版的 lodash .简单的来说,就是 ...
- 最近面试 有人问 sqlite 用过么 sqlite 不是 嵌入式的 开发 么 难道最近还 web开发 了?
找了一个 sqlite expert 安装了一下
- Halo-个人独立博客系统
项目地址:https://github.com/halo-dev/halo 安装指导:https://halo.run/guide/ 简介: Halo 是一款现代化的个人独立博客系统,给习惯写博客 ...
- Java程序员学习Go语言—之一
转载:https://www.luozhiyun.com/archives/206 GOPATH 工作空间 GOPATH简单理解成Go语言的工作目录,它的值是一个目录的路径,也可以是多个目录路径,每个 ...
- 创建dynamics CRM client-side (二) - Client API
如果我们想用script来直接在form上做一些修改, 我们需要用到client api 来做交互. 我们可以用以下来理解: Form <---> Client API <---&g ...
- selenium等待方式之显示等待
有时候,页面元素并未及时加载出来导致后面的步骤无法执行 这里就需要在加载前添加等待时间,让目标元素有足够的时间加载出来 第一种方法:使用time.sleep() 这种方法过于强制,无论元素是否加载出来 ...
- composer intall 报错
报错 [Composer\Exception\NoSslException] The openssl extension is required for SSL/TLS protection but ...
- SpringBoot缓存篇Ⅱ --- 整合Redis以及序列化机制
一.Redis环境搭建 系统默认是使用ConcurrentMapCacheManager,然后获取和创建ConcurrentMapCache类型的缓存组件,再将数据保存在ConcurrentMap中 ...