requests请求库入门使用

requests 库是一个功能强大且易于使用的 HTTP 请求库,适用于各种网络请求任务。它简化了 HTTP 请求的发送过程,并提供了丰富的功能来处理各种网络请求和响应。 

1.安装

 首先,你需要安装 requests 库。如果你还没有安装,可以使用 pip 安装:

2.请求 

安装完毕后先导入模块:

import requests

导入模块之后我们可以使用requests请求库方法。

请求方法

方法描述
delete(urlargs)发送 DELETE 请求到指定 url
get(urlparams, args)发送 GET 请求到指定 url
head(urlargs)发送 HEAD 请求到指定 url
patch(urldata, args)发送 PATCH 请求到指定 url
post(urldata, json, args)发送 POST 请求到指定 url
put(urldata, args)发送 PUT 请求到指定 url
request(methodurlargs)向指定的 url 发送指定的请求方法

get请求

图中可以看到,我们要请求csdn网址,需要用到的是 get 请求方式 ,且状态码为 200 时表示请求成功。

import requests

url = "http://www.csdn.net/"

res = requests.get(url)
print(res.status_code)

返回结果是 200 ,请求成功。

还可以给 get 请求添加参数 params、headers。

import requests

url = "http://www.csdn.net/"

params = {
    "pn": 12,
    "size": 20
}

headers = {
    "User-Agent": 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 '
                  'Safari/537.36'
}

res = requests.get(url, params=params, headers=headers)
print(res.status_code)

返回结果为 200 ,请求成功。

post请求

import requests

x = requests.post('https://www.runoob.com/try/ajax/demo_post.php')

print(x.text)


# 输出结果如下:

# <p style='color:red;'>本内容是使用 POST 方法请求的。</p><p style='color:red;'>请求时间:
# 2022-05-26 17:30:47</p>

post 请求也可以携带参数

import requests

myobj = {'fname': 'RUNOOB','lname': 'Boy'}

x = requests.post('https://www.runoob.com/try/ajax/demo_post2.php', data = myobj)

print(x.text)

# 输出结果如下:

# <p style='color:red;'>你好,RUNOOB Boy,今天过得怎么样?</p>

请求响应

每次调用 requests 请求之后,会返回一个 response 对象,该对象包含了具体的响应信息,如状态码、响应头、响应内容等:

print(response.status_code) # 获取响应状态码

print(response.headers) # 获取响应头

print(response.content) # 获取响应内容

更多响应信息如下:

属性或方法说明
apparent_encoding编码方式
close()关闭与服务器的连接
content返回响应的内容,以字节为单位
cookies返回一个 CookieJar 对象,包含了从服务器发回的 cookie
elapsed返回一个 timedelta 对象,包含了从发送请求到响应到达之间经过的时间量,可以用于测试响应速度。比如 r.elapsed.microseconds 表示响应到达需要多少微秒。
encoding解码 r.text 的编码方式
headers返回响应头,字典格式
history返回包含请求历史的响应对象列表(url)
is_permanent_redirect如果响应是永久重定向的 url,则返回 True,否则返回 False
is_redirect如果响应被重定向,则返回 True,否则返回 False
iter_content()迭代响应
iter_lines()迭代响应的行
json()返回结果的 JSON 对象 (结果需要以 JSON 格式编写的,否则会引发错误)
links返回响应的解析头链接
next返回重定向链中下一个请求的 PreparedRequest 对象
ok检查 "status_code" 的值,如果小于400,则返回 True,如果不小于 400,则返回 False
raise_for_status()如果发生错误,方法返回一个 HTTPError 对象
reason响应状态的描述,比如 "Not Found" 或 "OK"
request返回请求此响应的请求对象
status_code返回 http 的状态码,比如 404 和 200(200 是 OK,404 是 Not Found)
text返回响应的内容,unicode 类型数据
url返回响应的 URL
  • 8
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值