python3爬虫(一):请求库之requests

本文介绍了Python3的requests库在爬虫中的应用,包括GET、POST、PUT、DELETE等HTTP请求方法,头部信息设置,Respone对象的使用,Cookie管理,文件上传,重定向处理,超时设置及错误异常处理。详细阐述了每个功能点的用法和注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

python3爬虫(一):请求库之requests

Request是基于urllib编写、采用Apache2 Licensed开源协议的HTTP库,在使用方面Requests比urllib更加方便

一、HTTP请求

1. GET

requests.get(url [, params={‘key’: ‘value’}])

  • 通过url的查询字符串传递数据时,数据以键值对的形式跟在url的一个问号之后
  • Requests允许使用params关键字参数传递数据

注意:

  • 字典中值为None的键不会添加到查询字符串中
  • 键值可以是列表
import requests

# 无查询字符串
res1 = requests.get('http://www.baidu.com')

# 有查询字符串
data2 = {
    
    
	'key1': 'value1',
	'key2': 'value2'
}
res2 = requests.get('http://www.xxx.com', params=data)
print(res2)		# http://www.xxx.com?key1=value1&key2=value2

# 查询字符串中有列表
data3 = {
    
    
	'key1': 'value1',
	'key2': ['value2', 'value3']
}
res3 = requests.get('http://www.xxx.com', params=data)
print(res3)		# http://www.xxx.com?key1=value1&key2=value2&key2=value3
2. POST

requests.post(url [, data={‘key’: ‘value’}, json={‘key’: ‘value’}])

  • 以字典形式提交表单数据
  • 可以传入一个元组列表,尤其是表单中多个元素使用同一key
  • 发送数据并非编码为表单形式。如传递一个string,会被直接发布出去
  • 除自行对dict进行编码,可以使用json参数直接传递,会被自动编码
import requests

url = 'http://www.xxx.com'

# 传递字典
data1 = {
    
    
	'name': '12345',
	'age': '23'
}
res1 = requests.post(url, data=data1)

# 传递元组
data2 = (('key1', 'value1'), ('key1'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值