python requests模块使用方法,python requests文档
文章目录1.简介2.安装3.方法3.1 发送带参数的得到请求3.2 发送带数据的邮政请求3.3员额也可以用于上传文件3.4 设置与查看请求头(标题)3.5代理代理3.6保存饼干
1.简介要求是大蟒的一个超文本传送协议客户端库,跟urllib,urllib2类似,那为什么要用要求而不用urllib2呢?
2.安装点安装请求
3.方法导入请求
超文本传送协议请求:获取、发布、上传、删除、标题、选项
requests.get(http://xxxx.com/)
请求。帖子( http://xxxx。 com/post ,data={key:value})
请求。放( http://xxxx。com/put ,data={key:value})
请求。删除(《http://xxxx.com/delete》)
请求。头( http://xxxx。com/get’)
请求。选项(" http://xxxx。com/get”)
为统一资源定位器传递参数
要求模块使用参数关键字参数,以一个字典的形式来提供参数。
有效负载={key1 :值, key2 :值2}
RES=请求。get( http://http bin。org/get ,params=有效负载)
资源全球资源定位器(Uniform Resource Locator)
uhttp://httpbin.org/get? key2=value2 key1=value
r=请求。get( http://www。zhidaow。com )#发送请求
r。状态代码#返回码
200
r.headers[content-type] #返回头部信息
文本/html; charset=utf8
r。编码#编码信息
utf-8
r。文本#内容部分(PS,由于编码问题,建议这里使用r。内容)
u\n
.
res.json()
res.rawresponse文本和响应。内容的区别在于:
回复。文本是解过码的字符串(比如超文本标记语言代码)。当要求发送请求到一个网页时,请求库会推测目标网页的编码,并对其解码,转为字符串(str)。这种方法比较容易出现乱码响应.内容是未解码的二进制格式(字节),不仅支持文本内容,还适用于二进制文件内容如图片和音乐等。如果需要把文本内容转化为字符串,一般使用response.content.decode(utf-8 )方法即可。
3.1 发送带参数的得到请求导入请求
params={
wd: python , pn: 10,
}
响应=请求。得到( https://www。百度一下。 com/s ,params=params)
打印(响应. url)
打印(响应。文本)
3.2 发送带数据的邮政请求导入请求
post_data={ 用户名:值1 ,密码:值2}
响应=请求。帖子( http://XXX。com/log in/,data=post_data)
response.raise_for_status()
3.3员额也可以用于上传文件导入请求
url=http://httpbin.org/post
files={file: open(report.xls , rb)}
r=requests.post(url,files=files)
3.4 设置与查看请求头(标题)很多网站都有反爬机制,如果一个请求不携带请求头标题,很可能被禁止访问。我们可以按如下方式设置请求头。你也可以通过打印响应。标题查看当前请求头。
导入请求
标题={
用户代理:‘Mozilla/5.0(麦金塔;英特尔Mac OS X 10_12_4) AppleWebKit/
537.36 (KHTML,像壁虎一样)Chrome/58。0 .3029 .110 Safari/537.36
}
响应1=请求。得到( https://www。百度一下。 com ,头=头)
响应2=请求。帖子( https://www。xxxx。com),data={key: value},
标题=标题)
打印(响应1 .标题)
打印(响应1。标题[内容类型])
打印(响应2 .文本)
3.5 代理代理人有的网站反爬机制会限制单位时间内同一互联网协议(互联网协议)的请求次数,这时我们可以通过设置互联网协议(Internet Protocol)代理代理来应对这个反爬机制106 .请求里设置代理人也非常简单,如下面代码所示。
导入请求
代理={
http: http://10.10.1.10:3128 ,
https: http://10.10.1.10:1080 ,
}
requests.get(http://example.org ,proxies=proxies)
3.6 保存cookies cookies=请求。饼干。requestscookiejar()
定义登录(端点ip):
endpoint= http://终结点IP :8080/upcdb _ manager/v 1.0/log in
header={}
头[内容类型]=应用程序/json
有效负载={
登录名:用户名,
密码:密码
}
响应=请求。请求( POST ,端点,数据=json.dumps(有效负载),标题=标题)
返回response.cookies
if __name__==__main__ :
cookies=登录( 192.168.1.19 )
url=www.baidu.com/xxx
r=requests.get(url,cookies=cookies)
来自
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。