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 相关文章推荐
Fiddler如何抓取手机APP数据包
Jan 22 Python
使用Python判断质数(素数)的简单方法讲解
May 05 Python
微信跳一跳自动运行python脚本
Jan 08 Python
让Django支持Sql Server作后端数据库的方法
May 29 Python
举例讲解Python常用模块
Mar 08 Python
python3实现猜数字游戏
Dec 07 Python
Python利用PyExecJS库执行JS函数的案例分析
Dec 18 Python
Python新手学习raise用法
Jun 03 Python
python新手学习使用库
Jun 11 Python
Python paramiko使用方法代码汇总
Nov 20 Python
利用Python如何画一颗心、小人发射爱心
Feb 21 Python
python 单机五子棋对战游戏
Apr 28 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
WordPress中用于获取文章信息以及分类链接的函数用法
2015/12/18 PHP
PHP AjaxForm提交图片上传并显示图片源码
2016/11/29 PHP
Ext 表单布局实例代码
2009/04/30 Javascript
Js和JQuery获取鼠标指针坐标的实现代码分享
2015/05/25 Javascript
基于JS实现的笛卡尔乘积之商品发布
2016/05/13 Javascript
在JavaScript中模拟类(class)及类的继承关系
2016/05/20 Javascript
微信小程序如何获知用户运行小程序的场景教程
2017/05/17 Javascript
JS实现的随机排序功能算法示例
2017/06/09 Javascript
jQuery plugin animsition使用小结
2017/09/14 jQuery
vue里input根据value改变背景色的实例
2018/09/29 Javascript
微信小程序冒泡事件及其阻止方法实例分析
2018/12/06 Javascript
简单了解JavaScript中的执行上下文和堆栈
2019/06/24 Javascript
wepy--用vantUI 实现上弹列表并选择相应的值操作
2020/11/03 Javascript
python解析xml模块封装代码
2014/02/07 Python
Python优化技巧之利用ctypes提高执行速度
2016/09/11 Python
Python连接SQLServer2000的方法详解
2017/04/19 Python
Python将一个CSV文件里的数据追加到另一个CSV文件的方法
2018/07/04 Python
Python中按键来获取指定的值
2019/03/02 Python
python反编译学习之字节码详解
2019/05/19 Python
Django 实现Admin自动填充当前用户的示例代码
2019/11/18 Python
centos7中安装python3.6.4的教程
2019/12/11 Python
Python用input输入列表的实例代码
2020/02/07 Python
浅谈django channels 路由误导
2020/05/28 Python
如何用python免费看美剧
2020/08/11 Python
使用CSS3创建动态菜单效果
2015/07/10 HTML / CSS
ProBikeKit美国官网:自行车套件,跑步和铁人三项套件
2016/10/13 全球购物
Merchant 1948澳大利亚:新西兰领先的鞋类和靴子供应商
2018/03/24 全球购物
采购经理岗位职责
2014/02/16 职场文书
马云北大演讲完整版:真心话,什么才是阿里的核心竞争力?
2014/04/04 职场文书
面试必备的求职信
2014/05/25 职场文书
酒店管理毕业生自荐信
2014/05/25 职场文书
小学生国庆节演讲稿
2014/09/05 职场文书
幼儿园小班个人总结
2015/02/12 职场文书
重阳节主题班会
2015/08/17 职场文书
团干部培训班心得体会
2016/01/06 职场文书
Windows Server 2019 配置远程控制以及管理方法
2022/04/28 Servers