Python 内置了 requests 模块,该模块主要用来发 送 HTTP 请求,requests 模块比 urllib 模块更简洁。
每次调用 requests 请求之后,会返回一个 response 对象,该对象包含了具体的响应信息。
常用的响应如下:
方法 | 说明 |
---|---|
apparent_encoding | 编码方式 |
close() | 关闭与服务器的连接 |
content | 返回响应的内容,以字节为单位 |
cookies | 返回一个 CookieJar 对象,包含了从服务器发回的 cookie |
encoding | 解码网页文本的编码方式 |
headers | 返回响应头,字典格式 |
json() | 返回结果的JSON 对象 |
text | 返回网页文本 |
url | 返回响应的 URL |
status_code | 返回 http 的状态码 |
request | 返回请求此响应的请求对象 |
# 导入 requests 包
import requests
# 发送请求
res = requests.get('https://www.baidu.com/')
# 返回网页文本
print(res.text)
# 导入 requests 包
import requests
# 发送请求
x = requests.get('https://www.baidu.com/')
# 返回 http 的状态码
print(x.status_code)
# 返回编码
print(x.apparent_encoding)
请求 json 数据文件,返回 json 内容:
# 导入 requests 包
import requests
# 发送请求
url = 'http://wthrcdn.etouch.cn/weather_mini?citykey=101010100'
# 返回json对象
res = requests.get(url).json()
print(res)
结果
加上请求头
# 导入 requests 包
import requests
# 请求头
headers = {
'User-agent':"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36"
}
# 发送请求
url = 'https://www.baidu.com/'
res = requests.get(url,headers=headers)
# 查看响应状态码
print(res.status_code)
# 查看完整url地址
print(res.url)
# 返回网页文本
print(res.text)
post() 方法可以发送 POST 请求到指定 url,一般格式如下:
requests.post(url, data={key: value}, json={key: value}, args)
参数 | 说明 |
---|---|
url | 请求url |
data | 发送到指定 url 的字典、元组列表、字节或文件对象 |
json | 发送到指定 url 的 JSON 对象 |
args | 其他参数,如cookies、headers、verify等 |
# 导入 requests 包
import requests
# 表单参数,参数名:lname
body = {'text': '111'}
# 发送请求
res = requests.post(url, data = body)
# 返回网页文本
print(res.text)
结果
点关注不迷路,本文若对你有帮助,烦请三连支持一下 ❤️❤️❤️
各位的支持和认可就是我最大的动力❤️❤️❤️