python第三方库-Requests库-使用指南

Requests Library 库使用指南

Request 简单,漂亮的API设计

开始

response = request.get('url')

# 可以向下面这样做
if response.status_code == 200:
    print('Success!')
elif response.status_code == 404:
    print('Not Found.')
# 还可以这样!
if response:
		print('成功')
else:
		print('失败')

get()方法返回的是一个Response 对象的一个实例。(在本例中被存储到response 这个变量里)

**提示:**为什么可以这样做?

是因为__bool__() 是Response对象的一个重载方法

注意:if response 语句,状态码200-400 这个表达式的值均为True

如果你不想在if语句里面检查响应的状态码。

相反,你想在请求不成功的时候引发一个异常。

可以这样做

import requests
from requests.exceptions import HTTPError

for url in ['https://api.github.com', 'https://api.github.com/invalid']:
    try:
        response = requests.get(url)

        # If the response was successful, no Exception will be raised
        response.raise_for_status()
    except HTTPError as http_err:
        print(f'HTTP error occurred: {
     http_err}')  # Python 3.6
    except Exception as err:
        print(f'Other error occurred: {
     err}')  # Python 3.6
    else:
        print('Success!')

如果状态码是成功类状态码,程序继续执行,不引发异常。否则将引发异常。

Response

查看响应的字节内容,可以使用 .content

response = requests.get('https://api.github.com')
response.content

可以编码→转换为字符串。当你使用.text是默认转为utf-8(requests 会从请求头猜测编码,一般是utf-8)

response.text

也可以显式编码。

response.encoding = 'utf-8' 
response.text

如果你查看响应,它实际上是序列化的json内容。

为了得到Python的数据结构(字典)

要进行反序列化

response.json()

Headers

header 返回一个类似字典的对象,允许通过键访问header值。

response.header['Content-Type']

header对象有一些特殊之处,HTTP规范将报头定义为不区分大小写。

所以这样写也可以

response.header['content-type']

Query String Parameters

自定义请求,常用查询字符串参数传递值。(params)

例如

import requests
# 搜索github仓库
response = requests.get('https://api.github.com/search/repositories',params=
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值