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库的安装与使用的更多相关文章

  1. Robot Framework中经常用的第三方库的安装方法

    pip升级:python -m pip install --upgrade pip 一.安装robotframework-selenium2library,相当于python中的selenium    ...

  2. Python3 urllib.request库的基本使用

    Python3 urllib.request库的基本使用 所谓网页抓取,就是把URL地址中指定的网络资源从网络流中读取出来,保存到本地. 在Python中有很多库可以用来抓取网页,我们先学习urlli ...

  3. Python爬虫--- 1.1请求库的安装与使用

    来说先说爬虫的原理:爬虫本质上是模拟人浏览信息的过程,只不过他通过计算机来达到快速抓取筛选信息的目的所以我们想要写一个爬虫,最基本的就是要将我们需要抓取信息的网页原原本本的抓取下来.这个时候就要用到请 ...

  4. Python3 常用爬虫库的安装

    Python3 常用爬虫库的安装 1 简介 Windows下安装Python3常用的爬虫库:requests.selenium.beautifulsoup4.pyquery.pymysql.pymon ...

  5. windows下python常用库的安装

    windows下python常用库的安装,前提安装了annaconda 的python开发环境.只要已经安装了anaconda,要安装别的库就很简单了.只要使用pip即可,正常安装好python,都会 ...

  6. Python爬虫学习==>第五章:爬虫常用库的安装

    学习目的: 爬虫有请求库(request.selenium).解析库.存储库(MongoDB.Redis).工具库,此节学习安装常用库的安装 正式步骤 Step1:urllib和re库 这两个库在安装 ...

  7. dev c++ Boost库的安装

    dev c++ 的boost库的安装步骤 然后点击“check for updates”按钮 最后点击“Download selected”按钮,下载完成后安装.... 给dev添加boost库文件, ...

  8. 机器学习库shark安装

    经过两天的折腾,一个对c++和机器学习库的安装都一知半解的人终于在反复安装中,成功的将shark库安装好了,小小纪念一下,多亏了卡门的热心帮忙. shark的安装主要分为以下几个部分: (1)下载 s ...

  9. Python库的安装方法

    Python库的安装方法 Python的解释器CPython是开源的,我们可以下载查看其源代码,同时,Python语言的各种库也都是开源的.利用Python语言编程,可用的库有很多,在Python官方 ...

随机推荐

  1. esri mdb 数据库导入 到postgreSQL

    需求: 项目升级,需要将esri的个人数据库(mdb格式)导入到开源数据库postgreSQL中. 思路: 使用fwtools工具导出到数据库中. 环境: windows+fwtools+postgr ...

  2. 快速搭建一个自己的个人博客(Github Pages~二次元主题)

    前言 本次的一个布局技术都写的非常详细了,只要按着来就行,不过,先说明本次主题为二次元主题. 如果真的喜欢本主题的不妨可以试一试(==建议跟据目录来看==) 在很久很久以前.... 嘛,就在前不久我正 ...

  3. 树形dp - 求树的直径

    随着杭州西湖的知名度的进一步提升,园林规划专家湫湫希望设计出一条新的经典观光线路,根据老板马小腾的指示,新的风景线最好能建成环形,如果没有条件建成环形,那就建的越长越好. 现在已经勘探确定了n个位置可 ...

  4. 保存数据到txt

    join用的不错 a = "Hello, world" b = "你好,世界" c = "How are you?" with open(f ...

  5. 1.Java和Python的选择

    我认为高级语言分为Java/c系列和其他. Java:1995年,让程序员设计一些大型分布式复杂应用. Python:1991年,面向系统管理.科研教育.等非程序员群体用的多. C系列语言:奠定了现在 ...

  6. .net core webapi搭建(3)Code first+拆层三层+仓储

    将项目拆层 我们要 将项目拆分成 Infrastructure     基础层 Core                   核心层 Utility                  工具 我们想在就 ...

  7. 深入学习MySQL 01 一条查询语句的执行过程

    在学习SpringCloud的同时,也在深入学习MySq中,听着<mysql45讲>,看着<高性能MySQL>,本系列文章是本人学习过程的总结,水平有限,仅供参考,若有不对之处 ...

  8. c#数字图像处理(四)线性点运算

    灰度图像的点运算可分为线性点运算和非线性点运算两种.4.1线性点运算定义线性点运算就是输出灰度级与输入灰度级呈线性关系的点运算.在这种情况下,灰度变换函数的形式为: g(x, y)=pf(x,y)+L ...

  9. rabbitmq使用总结

    rabbitmq 架构图 RabbitMQ 中的 broker 是指什么?cluster 又是指什么 broker 是指一个或多个 erlang node 的逻辑分组,且 node 上运行着 Rabb ...

  10. ios---图片缩放

    1.设置scrollview的代理 2.实现如下方法 -(UIView )viewForZoomingInScrollView:(UIScrollView )scrollView{ return se ...