Python Requests 基础入门


Posted in Python onApril 07, 2016

首先,Python 标准库中的 urllib2 模块提供了你所需要的大多数 HTTP 功能,但是它的 API 不友好。它是为另一个时代、另一个互联网所创建的。它需要巨量的工作,甚至包括各种方法覆盖,来完成最简单的任务,所以学习reuqests模块,比较简洁好用(以后慢慢会学习scapy,更强大的库),安装就不用说了

1 导入模块

>>> import requests

2 直观感受一下发送请求的简洁

>>> r = requests.get('your url')

>>> r = requests.post('your url')

#put delete head options方法也是这种用法

3 为url传递参数

>>> url_params = {'key':'value'} #字典传递参数,如果值为None的键不会被添加到url中
>>> r = requests.get('your url',params = url_params)
>>> print(r.url)

your url?key=value

4 响应的内容

>>> r.encoding #获取当前的编码

>>> r.encoding = 'utf-8' #设置编码

>>> r.text #以encoding解析返回内容

>>> r.content #以字节形式(二进制)返回

>>> r.json() #以json形式返回,前提返回的内容确保是json格式的,不然解析出错会抛异常

5 定制头和coookie信息

>>> header = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36 SE 2.X MetaSr 1.0'}

>>> cookie = {'key':'value'}

>>> r = requests.get/post('your url',headers=header,cookies=cookie)

6 发送post数据请求

>>> send = {'key':'value'}

>>> r = requests.post('your url',data = send) # 如果你传递一个 string 而不是一个dict ,那么数据会被直接发布出去,这个也可以上传文件

7 响应状态码

>>> r.status_code #如果不是200,可以使用 r.raise_for_status() 抛出异常

8 响应

>>> r.headers #返回字典类型,头信息

# r.requests.headers 返回发送到服务器的头信息

>>> r.cookies #返回cookie

>>> r.history #返回重定向信息,当然可以在请求是加上allow_redirects = false 阻止重定向

9 超时

>>> r = requests.get('url',timeout=1)#设置秒数超时,仅对于连接有效

10 会话对象,让你能够跨请求保持某些参数

>>> s = requests.Session()

>>> s.auth = ('auth','passwd')

>>> s.headers = {'key':'value'}

>>> r = s.get('url')

>>> r1 = s.get('url1')

11 代理

>>> proxies = {'http':'ip1','https':'ip2' }

>>> requests.get('url',proxies=proxies)

三水点靠木推荐阅读:

Python 相关文章推荐
Python Web开发模板引擎优缺点总结
May 06 Python
跟老齐学Python之不要红头文件(2)
Sep 28 Python
Python求导数的方法
May 09 Python
python实现自动发送报警监控邮件
Jun 21 Python
python3使用pandas获取股票数据的方法
Dec 22 Python
Python3.5内置模块之random模块用法实例分析
Apr 26 Python
python中自带的三个装饰器的实现
Nov 08 Python
python实现贪吃蛇游戏源码
Mar 21 Python
pandas实现导出数据的四种方式
Dec 13 Python
MoviePy简介及Python视频剪辑自动化
Dec 18 Python
python 实现定时任务的四种方式
Apr 01 Python
python flask框架快速入门
May 14 Python
Python检测网站链接是否已存在
Apr 07 #Python
python多进程共享变量
Apr 06 #Python
python socket多线程通讯实例分析(聊天室)
Apr 06 #Python
python文件的md5加密方法
Apr 06 #Python
python制作爬虫并将抓取结果保存到excel中
Apr 06 #Python
python基于隐马尔可夫模型实现中文拼音输入
Apr 01 #Python
Python使用BeautifulSoup库解析HTML基本使用教程
Mar 31 #Python
You might like
PHP生成Flash动画的实现代码
2010/03/12 PHP
深入理解用mysql_fetch_row()以数组的形式返回查询结果
2013/06/05 PHP
thinkphp中session和cookie无效的解决方法
2014/12/19 PHP
javascript字典探测用户名工具
2006/10/05 Javascript
jQuery实现回车键(Enter)切换文本框焦点的代码实例
2014/05/05 Javascript
JavaScript中实现PHP的打乱数组函数shuffle实例
2014/10/11 Javascript
在线所见即所得HTML编辑器的实现原理浅析
2015/04/25 Javascript
bootstrap输入框组代码分享
2016/06/07 Javascript
vue分页组件table-pagebar使用实例解析
2020/11/15 Javascript
js实现上传文件添加和删除文件选择框
2016/10/24 Javascript
Vue 2.0在IE11中打开项目页面空白的问题解决
2017/07/16 Javascript
Vue之Vue.set动态新增对象属性方法
2018/02/23 Javascript
vue input输入框模糊查询的示例代码
2018/05/22 Javascript
Nodejs处理异常操作示例
2018/12/25 NodeJs
Vue组件通信的几种实现方法
2019/04/25 Javascript
vue 实现一个简单的全局调用弹窗案例
2020/09/10 Javascript
python使用PyGame播放Midi和Mp3文件的方法
2015/04/24 Python
python实现识别手写数字 python图像识别算法
2020/03/23 Python
python自动12306抢票软件实现代码
2018/02/24 Python
Python 加密与解密小结
2018/12/06 Python
python用插值法绘制平滑曲线
2021/02/19 Python
python socket通信编程实现文件上传代码实例
2019/12/14 Python
Python图像处理二值化方法实例汇总
2020/07/24 Python
2020版Python学习路线图(附学习资料)
2020/09/15 Python
python小技巧——将变量保存在本地及读取
2020/11/13 Python
让IE6支持css3,让 IE7、IE8 都支持CSS3
2011/10/09 HTML / CSS
阿里巴巴国际站:Alibaba.com
2016/07/21 全球购物
选购国际女性时装设计师品牌:IFCHIC(支持中文)
2018/04/12 全球购物
巴西独家产品和现场演示购物网站:Shoptime
2019/07/11 全球购物
豪华床上用品 :Jennifer Adams
2019/09/15 全球购物
培训主管的职业生涯规划
2014/03/06 职场文书
县政府办公室领导班子对照检查材料思想汇报
2014/09/28 职场文书
个人批评与自我批评总结
2014/10/17 职场文书
皇城相府导游词
2015/02/06 职场文书
企业愿景口号
2015/12/25 职场文书
关于nginx 实现jira反向代理的问题
2021/09/25 Servers