第三方库:requests

requests 是什么

requests是一个用于进行HTTP请求及处理的第三方库

安装

pip install requests

使用

GET访问

  1. 最简单的访问
import requests  # 导入库/模块

url = 'https://www.douban.com/'  # 定义访问url
res = requests.get(url)  # 进行get访问
  1. 带参数的访问
import requests  # 导入库/模块

url = 'https://www.douban.com/search'  # 定义访问url
param = {'q': 'python'}  # dict 字典格式参数
res = requests.get(url, params=param)  # 进行get访问
print(res.url)  # 实际访问url
'https://www.douban.com/search?q=python'
  1. 带Header的访问
import requests  # 导入库/模块

url = 'https://www.douban.com/search'  # 定义访问url
param = {'q': 'python'}  # dict 字典格式参数
res = requests.get(url, params=param, headers={
    'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit'})  # 进行get访问

POST访问

  1. 最简单的访问
import requests  # 导入库/模块

url = 'https://www.douban.com/'  # 定义访问url
res = requests.post(url)  # 进行post访问
  1. 带参数的访问
import requests  # 导入库/模块

url = 'https://www.douban.com/search'  # 定义访问url
data = {'q': 'python'}  # dict 字典格式参数
res = requests.post(url, data=data)  # 进行post访问 此时请求的数据编号是 application/x-www-form-urlencoded
# 如果要传输json数据需指定参数名为json
res = requests.post(url, json=data)
print(res.url)  # 实际访问url
  1. 带Header的访问
import requests  # 导入库/模块

url = 'https://www.douban.com/search'  # 定义访问url
data = {'q': 'python'}  # dict 字典格式参数
res = requests.post(url, data=data, headers={
    'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit'})  # 进行post访问
  1. 上传文件
import requests  # 导入库/模块

url = 'https://www.douban.com/search'  # 定义访问url
#使用'rb'二进制模式读取文件,获取的到bytes长度才是文件的真实长度
upload_files = {'file': open('demo.xls', 'rb')}
res = requests.post(url, files=upload_files)  # 进行post访问

响应

import requests  # 导入库/模块

url = 'https://www.douban.com/search'  # 定义访问url
data = {'q': 'python'}  # dict 字典格式参数
res = requests.post(url, data=data, headers={
    'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit'})  # 进行post访问

print(res.url)  # 实际请求的URL
print(res.headers)  # 获取响应头
print(res.headers['Content-Type'])  # 获取响应头中的Content-Type
print(res.cookies['cookie_key'])  # 获取cookies
print(res.status_code)  # 响应状态码
# 200
print(res.encoding)  # 编码
# utf-8
print(res.text)  # 响应内容文本
print(res.content)  # 响应内容bytes对象
print(res.json())  # 响应内容json对象

session/cookies管理

  1. 通过请求时带入cookies参数进行交互
import requests  # 导入库/模块

url = "https://www.douban.com/search"
data = {'q': 'python'}  # dict 字典格式参数
requests.post(url, data=data, cookies={'sessionId': '12345'})  # 进行post访问
  1. 通过session自动管理cookies
import requests  # 导入库/模块

url = "https://www.douban.com/search"
session = requests.session()
data = {'q': 'python'}  # dict 字典格式参数
# 使用session对象进行请求访问
session.post(url, data=data)  # 进行post访问
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值