爬虫之盗亦有道requests

本文介绍了Python的requests库在HTTP请求中的应用,包括GET、POST、PUT、PATCH等方法的使用,详细阐述了URL格式、请求参数如headers、cookies、auth等,并提到了异常处理和爬虫基本框架。此外,还讨论了PUT与PATCH的区别,PUT用于覆盖更新,而PATCH用于局部更新。

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

requests的使用

HTTP协议
URL格式: http://host[:port][path]
host:合法的Internet主机域名或IP地址
port:端口号,缺省值为80
requests.request(method,url,**kw)
*merhod:请求方式

GET
HEAD
POST
PUT
PATCH
delete
OPTIONS
put 和patch区别:

  • 采用patch ,局部更新
  • 采用 put,覆盖,未提交字段被删除

**kw:控制访问的参数,均为可选项

1.params:字典或字节序列,作为参数增加到URL中

kv={"key1":"v1","key2":"v2"}
r=requests.request("GET",url,params=kv))
print(r.url)

http://www.baidu.com/?key2=v2&key1=v1

2.data 字典或字节序列或文件对象,作为Request 的内容

kv={"key1":"v1","key2":"v2"}
r=requests.request("POST",url,data=kv)
body="主题内容"
r=requests.request("POST",url,data=body)

3.json:JSON格式数据,作为request内容

kv={"key1":"v1","key2":"v2"}
r=requests.request("POST",url,json=kv)

4.headers:字典,HTTP定制头

hd={'user-agent':'Chrome/10'}
r=requests.request('POST',url.headers=hd)

5.cookies:字典或CookieJar,Request中的cookie
6.auth:元组,支持HTTP认证功能
7.files:字典类型,传输文件

fs={'file':open('data.xls',rb)}
r=requests.request('POST',url,files=fs)

8.timeout:设定超时时间,秒

r=requests.request('GET',url,timeout=10)

9.proxies:字典类型,设定访问代理服务器,可增加登录认证

pxs={'http':"http://user:pass@10.10.10.1:1234"
		'https':"https://10.10.10.1:4321"}
r=requests.req

10.allow_redirects: True/False, 默认为T入额,重定向开关
11.stream:默认为True,获取内容立即下载开关
12.verify:默认为True,认证SSL证书开关
13.cert:本地SSL证书路径
requests的方法
requests.get(url,params=None,**kw) 上述12个参数
requests.head(url,**kw) 13个控制访问参数
requests.post(url,data=None,json=None,**kw)
requests.put(url,data=None,**kw)
requests.patch(url,data=None,**kw)
requests.delete(url,**kw)

requests的异常处理

异常说明
ConnectionErro网络连接错误异常,如但是查询失败,拒绝连接
HTTPErrorHTTP错误异常
URLRequiredURK缺失异常
TooManyRedirects超过最大重定向次数产生重定向异常
ConnectTimeout连接远程服务器超时异常
Timeout请求URL超时,产生超时异常
异常说明
r.raise_for_status如果不是200,产生异常 requests.HTTPError

爬取网页通用代码框架

import requests
def getHTMLText(url):
	try:
		r=requests.get(url,timeout=30)
		r.raise_for_status()
		r.enciding=r.apparent_encoding
		return r.text
	except:
	return "产生异常"
if __name__=="__main__":
	url="http://www.baidu.com"
	print(getHTMLText(url))

部分来自北京理工大学-嵩天的爬虫课程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值