【爬虫基础】第6讲 opener的使用

在爬虫中,opener是一个用来发送HTTP请求的对象。它可以用来模拟浏览器发送请求,包括设置请求头、处理Cookie等操作。使用opener可以实现一些高级功能,如模拟登录、处理验证码等。

方法1:

复制代码
from urllib.request import Request,build_opener
from fake_useragent import UserAgent

url ='http://httpbin.org/get'
headers ={
    'User-Agent':UserAgent().chrome
}
req = Request(url,headers=headers)
opener = build_opener()
resp = opener.open(req)
print(resp.read().decode())

执行结果:

方法2:使用控制器

复制代码
from urllib.request import Request,build_opener
from fake_useragent import UserAgent
from urllib.request import HTTPHandler

url ='http://httpbin.org/get'
headers ={
    'User-Agent':UserAgent().chrome
}
req = Request(url,headers=headers)
handler = HTTPHandler(debuglevel=1)
opener = build_opener(handler)
resp = opener.open(req)
print(resp.read().decode())

执行结果:

对比方法1和方法2,方法2明显输出内容更多更详细。

需要注意的是,opener对象默认会自动处理重定向和Cookie等操作,所以无需手动处理。如果需要手动处理重定向,可以使用urllib.request.install_opener(opener)来安装opener对象。

相关推荐
Source.Liu6 分钟前
【Python自动化】 21.3 Pandas Series 核心数据结构完全指南
python·自动化·pandas
Sirius Wu22 分钟前
私有化部署Ragflow的预训练模型
人工智能·python·语言模型·火山引擎
Mr_sun.1 小时前
Day04_苍穹外卖——套餐管理(实战)
开发语言·python
南棱笑笑生1 小时前
20250910在荣品RD-RK3588-MID开发板的Android13系统下修改短按power按键的休眠/唤醒为关闭/打开背光
开发语言·python·rockchip
java1234_小锋2 小时前
Scikit-learn Python机器学习 - 分类算法 - 线性模型 逻辑回归
python·机器学习·scikit-learn
倔强的石头_2 小时前
你的 Python 为什么“优雅地慢”?——读《极速Python:高性能编码、计算与数据分析》
python
程序猿 小项目大搞头2 小时前
视频加水印,推荐使用运营大管家-视频批量加水印软件
python
Adorable老犀牛2 小时前
可遇不可求的自动化运维工具 | 2 | 实施阶段一:基础准备
运维·git·vscode·python·node.js·自动化
华科云商xiao徐3 小时前
如何在C语言环境中借助Linux库构建高效网络爬虫
爬虫·数据挖掘·数据分析
xchenhao3 小时前
SciKit-Learn 全面分析 digits 手写数据集
python·机器学习·分类·数据集·scikit-learn·svm·手写