请求模块(requests)

requests模块是python中常用的发送请求模块,作用是发送http请求,获取响应数据。使用前需要使用pip进行下载。

pip install requests

使用requests

  • 使用requests发送get请求
requests.get('https://www.douban.com/')
  • 发送带有参数的get请求

传入一个字典作为params参数即可

requests.get('https://www.douban.com/',params={'a':'python','b':'100'})

实例请求的url则为:

https://www.douban.com/search?a=python&b=100'
  • 发送需要传入HTTP Header的get请求

传入一个字段作为headers参数即可

requests.get('https://www.douban.com/', headers={'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit'})
  • 发送json数据的get请求:

传入一个字典作为json参数即可

params = {'key': 'value'}
requests.post(url, json=params)
  • 发送文件的get请求

传入一个字典作为files参数即可,字典的值为传入的文件,读取文件时需要使用rb模式二进制进行读取。

upload_files = {'file': open('report.xls', 'rb')}
requests.post(url, files=upload_files)
  • 发送带有Cookie的get请求

传入一个字典作为cookies参数即可。

cookies= {'name': 'hhh', 'pwd': 'working'}
requests.get(url, cookies=cookies)
  • 指定超时时间的get请求

传入一个数字作为timeout参数即可。注意timeout参数的单位是秒

requests.get(url, timeout=3)
  • 发送post请求

将get()方法改成post()方法即可。如何传入一个字典作为data参数,表示作为post请求的数据。

requests.post('https://accounts.douban.com/login', data={'form_email': 'abc@example.com'})

如果需要使用其他请求方法时,则将post()方法换成响应的方法即可。如put(),delete()等,就可以使用put或者delete方式请求数据了。

响应内容常用方法

使用上面方法后,都会返回一个对象,包含着所有响应内容。一般使用response进行接收,表示响应内容。该对象常用的属性有:

  • status_code
    • 状态码
  • text
    • 响应体
  • content
    • 也是响应体,但是无论响应是文本还是二进制内容,content属性获得都是bytes对象
    • 可以在该属性后面再使用decode方法,对数据进行解码操作,默认是utf-8
  • encoding
    • 查看返回内容的编码格式
  • apparent_encoding
    • 获取网页编码格式
res.encoding = res.apparent_encoding

就不用考虑网页文字编码的问题了,表示获取网页的编码格式赋值给返回内容编码格式,是一个万能方法。 

  • json
    • 获取json数据
  • headers
    • 获取响应头
  • Cookie
    • 获取Cookie

常用的方法:

  • raise_for_status()
    • 是专门与异常打交道的方法,该方法有这样一个有趣的功能,它能够判断返回的Response类型状态是不是200。如果是200,他将表示返回的内容是正确的,如果不是200,他就会产生一个HttpError的异常
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HHYZBC

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值