python requests库详解_requests库详解

1、requests库简介:http://docs.python-requests.org/zh_CN/latest/user/quickstart.html(官网)

What is requests?

1324415-20180509081847790-1494399480.jpg

答:基于urllib库的简单易用的http库

2、安装

pip3 install requests

3、用法详解

(1)、实例(小伙伴们来感受下其的魅力吧!)

1324415-20180509083255202-1494496705.png

(2)、发送请求

主要包含以下方式:

import requests

requests.get('http://www.ujs.edu.cn/')

requests.post('http://www.ujs.edu.cn/post')

requests.put('http://www.ujs.edu.cn/put')

requests.delete('http://www.ujs.edu.cn/delete')

requests.head('http://www.ujs.edu.cn/get')

requests.options('http://www.ujs.edu.cn/get')

小伙伴们主要掌握前两种其他了解即可

1、get请求使用

1324415-20180509085844815-839378942.png

1324415-20180509085859101-1393354774.png

解析json

1324415-20180509085914460-1596091082.png

获取二进制数据

1324415-20180509090411171-195245778.png

1324415-20180509090425624-2109948023.png

下面小伙们我们来做个实验:(随便下载网上一张图片到本地)

方法:随便打开一张图片并右键得到其链接

1324415-20180509091114582-1685538924.png

运行效果图

1324415-20180509091151007-199129237.png

添加headers

1324415-20180509092228245-1730672630.png

这样我们搞到了知乎的源码

2、post请求使用

1324415-20180509093323907-1947020876.png

1324415-20180509093338077-1850294693.png

响应

常用属性总结:

response.status_code-获取响应的状态吗 200 表示成功/ http://tool.oschina.net/commons?type=5(状态码含义详解网站)

response.text-获取文本内容

resposne.headers-获取请求头信息

response.cookies-获取cookies信息(cookies我的理解是相当于访问网页时的个人身份证)

response.content-获取响应的二进制内容,下载图片和视频时使用

response.url-获取响应的url

response.history-获取响应的历史信息

3、高级操作

文件上传

1324415-20180509102810352-2112661378.png

获取cookie

1324415-20180509103112274-1206006028.png

会话维持(模拟登陆,小伙伴们咱们下面来探讨!)

1324415-20180509110007544-1978439754.png

获取结果为:cookies ={}

1324415-20180509110041882-1122218701.png

结果为:cookies ={'number':'12345678'}

证书认证

1324415-20180509105738683-2076840288.png

1324415-20180509105805921-1424495900.png

1324415-20180509105821030-537448487.png

1324415-20180509105838818-56033926.png

代理设置(官方文档:http://docs.python-requests.org/zh_CN/latest/user/advanced.html#advanced)

1324415-20180530194044524-2096793692.png

这里我使用了在讯代理上购买的一个代理而且该该代理需要账号密码才能使用,我们使用它访问了淘宝并获取了源码

此外新版的requests库还支持SOCKS代理

用法如下:

首先安装依赖库:pip install requests[socks]

proxies = {

'http': 'socks5://user:pass@host:port',

'https': 'socks5://user:pass@host:port'

}

其用法与http和https代理完全一样,这里不再重述,小伙伴们可以自己试下

超时设置(限制服务器应答速度)

1324415-20180509145307880-2002646649.png

小伙伴们咱们再来请求下国外的网站

1324415-20180509145549920-272441891.png

异常捕获(咱们来捕获这个connectimeout异常这样程序就不会在运行中中断了!)

1324415-20180509145825687-1833282363.png

认证设置

1324415-20180530200708855-1917598453.png

异常处理:http://www.python-requests.org/en/master/api/#exceptions(官网)

1324415-20180509150922715-923666482.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值