【爬虫基础】第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对象。

相关推荐
码界奇点5 小时前
Python从0到100一站式学习路线图与实战指南
开发语言·python·学习·青少年编程·贴图
Laravel技术社区6 小时前
pytesseract 中英文 识别图片文字
python
生骨大头菜7 小时前
使用python实现相似图片搜索功能,并接入springcloud
开发语言·python·spring cloud·微服务
绝不收费—免费看不了了联系我7 小时前
Fastapi的单进程响应问题 和 解决方法
开发语言·后端·python·fastapi
xqqxqxxq8 小时前
背单词软件技术笔记(V2.0扩展版)
java·笔记·python
最晚的py8 小时前
Python抓取ZLibrary元数据
爬虫·python
咖啡续命又一天8 小时前
Trae CN IDE 中 Python 开发的具体流程和配置总结
开发语言·ide·python·ai编程
IT·小灰灰9 小时前
告别“翻墙“烦恼:DMXAPI让Gemini-3-pro-thinking调用快如闪电
网络·人工智能·python·深度学习·云计算
山海青风10 小时前
语音合成 - 用 Python 合成藏语三大方言语音
开发语言·python·音视频
mikejahn10 小时前
爬取CECS网站征求意见栏目的最新信息
python