python中requests的常用方法_python3 Requests常用操作

Requests是用Python语言编写的基于urllib,采用Apache2 Licensed开源协议的HTTP库。它比urllib库更加方便。是一个简单易用的HTTP库。

安装pip3 install requests

各种请求方式

get方式(带参数)# 方式一:

payload = {'key1':'value1','key2':'value2'}

# 注意字典里值为None的键都不会被添加到 URL 的查询字符串里。

r=requests.get("http://httpbin.org/get",params=payload,headers=dict,timeout = 1)

# 方式二:

r=requests.get("http://httpbin.org/get?name=hello&age=12)

post方式r=requests.get("http://httpbin.org/get",data=payload,headers=dict)

文件上传files={'file':open('report.xls','rb')}

r=requests.post(url,files=files)

response对象

属性:response.status_code

response.content  #获取二进制数据,返回字节流,通常用在下载图片/视频中。

response.text    #响应内容,字符串类型,不需要decode

response.json()  #对于返回的json数据,可以调用该方法获得json对象,实际上是执行了json.loads(response.text))

response.cookies   #urllib中需要声明cookiejar,handler,opener等

response.url

response.encoding

response.headers

状态码:可以用有含义的值来代替r=requests.get("http://httpbin.org/get",data=payload,headers=dict)

if r.status_code == requests.codes.ok:  #if r.status_code == 200:

print("successfully")

会话维持

前一次访问获得的cookie,被后一次的访问使用。

通过session来完成import requests

s  = requests.Session()

s.get("https://httpbin.org/cookies/set/number/123456")  #访问url,获得响应的cookie

response = s.get("https://httpbin.org/cookies")

证书认证

对于https的网站,访问时,首先会对证书进行验证r = requests.get("https://www.12306.cn")  #SSLError,因为12306的证书非官方

可以通过指定verify参数来决定是否进行证书认证r = requests.get("https://www.12306.cn",verify=False)

#但仍然有警告信息,可以通过以下方法消除

from requests.packages import urllib3

urllib3.disable_warnings()

可以通过指定证书r = requests.get("https://www.12306.cn",cert=(path))

认证设置

有些网站在访问时需要输入用户名和密码,可以通过auth参数来制定r = requests.get(url,auth=('user','123')

代理设置

http/https代理#如果代理有账号密码,可以通过以下方式指定;没有的话,可以去掉

proxies = {

"http":"http://user:password@127.0.0.1:9743"

}

r = requests.get("www.baidu.com",proxies = proxies)

socks代理pip3 install 'requests[socks]'

proxies = {

"http":"socks5://127.0.0.1:9743"

}

r = requests.get("www.baidu.com",proxies = proxies)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值