Python之Requests库的7个主要方法
方法 | 说明 |
requests.request() | 构造一个请求,支撑一下各方法的基础方法 |
requests.get() | 获取HTML网页的主要方法 |
requests.head() | 获取网页头信息的方法 |
requests.post() | 向HTML网页提交POST请求的方法 |
requests.put() | 向HTML网页提交PUT请求的方法 |
requests.patch() | 向HTML网页提交局部修改请求 |
requests.delete() | 向HTML页面提交删除请求 |
requests.request(method,url,**kwargs)--------method请求方式
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,**keargs) |
requests.request(method,url,**kwargs)--------**kwargs访问控制参数(可选项)
•params:字典或字节序列,作为参数增加到URL中
kv = {'key1' : 'value1','key2': 'value2'}
r = requests.request('GET','http://www.baidu.com',params = kv)
print(r.url)
#output:http://www.baidu.com?key1=value1&key2=value2
•data:字典、字节序列或文件对象,作为request的内容,但是并不放到URL链接里,放在URL链接对应位置作为数据存储;当然也可以把一个字符串赋值给data,该字符串放在URL所对应的位置。
kv = {'key1' : 'value1','key2': 'value2'}
r = requests.request('POST','http://www.baidu.com',data = kv)
body = '主体内容'
r = requests.request('POST','http://www.baidu.com',data = body)
•json::JSON数据,作为request的内容提交,放在服务器的json里面
kv = {'key1' : 'value1','key2': 'value2'}
r = requests.request('POST','http://www.baidu.com',json = kv)
•headers:字典,HTTP定制头
hd = {'user-agent':'Chrom/10'}#模拟版本10的Chrome浏览器
r = requests.request('POST','http://www.baidu.com',headers = hd)
•cookies:字典或CookieJar,request中的cookie
•auth:元组,支持HTTP认证功能
•files:字典类型,向某个链接提交传输文件
fs = {'file': open('data.xls','rb')}
f = requests.request('POST','http://www.baidu.com',files = fs)
•timeout:设定超时时间,单位为s.如果规定时间内服务器不能返回就会产生一个timeout异常
r = requests.request('GET','http://wwww.baidu.com',timeout = 10)
•proxis:字典类型,设定访问代理服务器,可以增加登录认证,如增加登录用户名和密码。主要用于隐藏爬取网页的源网站,防止爬虫的逆追踪。
pxs = {'htttp':'http://user:pass@10.10.10.1:1234'
'https':'https:10.10.10.1:4321'}
r = requests.request('GET','http://www.baidu.com',proxies = pxs)
•allow_redirects:True/False,默认为True,重定向开关
•steam:True/False,默认为True,获取内容后立即下载
•verify:True/False,默认为True,认账SSL证书开关
•cert:本地SSL证书路径
HTTP的方法:
方法 | 说明 |
GET | 请求获取URL位置的资源 |
HEAD | 请求获取URL位置资源的响应消息报告,即获得该资源的头部信息 |
POST | 请求向URL位置的资源后附加新的数据 |
PUT | 请求向URL位置存储一个资源,覆盖原URL位置的资源 |
PATCH | 请求局部更新URL位置的资源,即改变该处资源的部分内容 |
DELETE | 请求删除URL位置存储的资源 |
Python之Requests库的7个主要方法的更多相关文章
- 【转】使用Python的Requests库进行web接口测试
原文地址:使用Python的Requests库进行web接口测试 1.Requests简介 Requests 是使用 Apache2 Licensed 许可证的 HTTP 库.用 Python 编写, ...
- Python爬虫—requests库get和post方法使用
目录 Python爬虫-requests库get和post方法使用 1. 安装requests库 2.requests.get()方法使用 3.requests.post()方法使用-构造formda ...
- python中requests库使用方法详解
目录 python中requests库使用方法详解 官方文档 什么是Requests 安装Requests库 基本的GET请求 带参数的GET请求 解析json 添加headers 基本POST请求 ...
- 解决python的requests库在使用过代理后出现拒绝连接的问题
在使用过代理后,调用python的requests库出现拒绝连接的异常 问题 在windows10环境下,在使用代理(VPN)后.如果在python中调用requests库来地址访问时,有时会出现这样 ...
- 【转载】requests库的7个主要方法、13个关键字参数以及响应对象的5种属性
Python爬虫常用模块:requests库的7个主要方法.13个关键字参数以及响应对象的5种属性 原文链接: https://zhuanlan.zhihu.com/p/67489739
- python利用requests库模拟post请求时json的使用
我们都见识过requests库在静态网页的爬取上展现的威力,我们日常见得最多的为get和post请求,他们最大的区别在于安全性上: 1.GET是通过URL方式请求,可以直接看到,明文传输. 2.POS ...
- python导入requests库一直报错原因总结 (文件名与库名冲突)
花了好长时间一直在搞这个 源代码: 一直报如下错误: 分析原因: 总以为没有导入requests库,一直在网上搜索各种的导入库方法(下载第三方的requests库,用各种命令工具安装),还是报错 后来 ...
- python爬虫---requests库的用法
requests是python实现的简单易用的HTTP库,使用起来比urllib简洁很多 因为是第三方库,所以使用前需要cmd安装 pip install requests 安装完成后import一下 ...
- Python爬虫---requests库快速上手
一.requests库简介 requests是Python的一个HTTP相关的库 requests安装: pip install requests 二.GET请求 import requests # ...
随机推荐
- 异常:getHibernateFlushMode is not valid without active transaction; nested exception is org.hibernate.HibernateException: getHibernateFlushMode is not valid without active transaction getHibernateFlu
场景: 在使用spring整合hibernate调用的HibernateTemplate时报错解决: 在spring配置文件中添加事务的配置 <bean id="hibernateTr ...
- 函数多个返回值与unpack的用法
-- return the index of max number and himself -- 函数可以返回多个值 function get_max( T ) ] for i, v in ipair ...
- 使用EF保存数据时 提示: 其他信息: 对一个或多个实体的验证失败。有关详细信息,请参阅“EntityValidationErrors”属性。
错误提示: 解决方法: →使用try...catch捕获→在catch所在行打上断点,运行,对ex添加监视或者运行到ex的时候 按Shift+f9天假快速监视→在EntityValidationEr ...
- 数据库sql语句常见面试题
转载:本文转载自:https://blog.csdn.net/woshinidedege/article/details/78659202 一.有以下几张表及表结构Student(Sid,Sname, ...
- Eslint使用(webpack中使用)
一.安装 npm i -D eslint npm i babel-eslint \ eslint-config-airbnb \ // Airbnb的编码规范是在业界非常流行的一套规范 eslint- ...
- JDCP连接池连接数据库报错:java.lang.AbstractMethodError: com.mysql.jdbc.Connection.isValid(I)Z
完整报错是这样的: 小编的情况: 使用mysql的jar包版本: 使用的jdcp的相关jar包版本: 报错的原因: mysql的jar包版本过低. 更新到最新版mysql的jar包即可. 小编更新后的 ...
- 腾讯云 Game-Tech 技术沙龙小游戏专场“空降”长沙
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由腾讯游戏云发表于云+社区专栏 小游戏作为今年快速成长的新生态,在开放进入市场之后持续成为行业热点,获得了游戏开发商的高度关注与参与.在 ...
- 【Spring源码解读】bean标签中的属性
说明 今天在阅读Spring源码的时候,发现在加载xml中的bean时,解析了很多标签,其中有常用的如:scope.autowire.lazy-init.init-method.destroy-met ...
- 根据class判断
一.生命不息,代码不止
- 你的leader还在考核你的千行代码Bug率吗?
管理学大师德鲁克说:你如果你无法度量它,就无法管理它.要想做有效的管理,就很难绕开度量的问题. 软件开发的过程或者技术团队的管理也存在着如何去合理的度量效率的问题.而度量是把双刃剑,度量具有极强的引导 ...