Python爬虫--伪装成浏览器

把爬虫伪装成浏览器

1. 技术原理

我们不讲很官方的属于,

简单的讲就是,一些论坛啊,博客啊

为防止别人爬他们的文章,

通常会判断是不是浏览器访问,如果不是那就屏蔽。


2. 实战

由于 urlopen() 对于一些HTTP的高级功能不支持,

所以,我们如果要修改报头,也就是添加 header

可以使用 urllib.request.build_opener() 进行,

当然,也可以使用 urllib.request.Request() 下的 add_header() 实现浏览器的模拟。

build_opener 的作用:

要爬取的各种各样的网页,它们有一部填写需要验证码,有的需要 cookie,还有更多许多高级的功能,

它们会阻碍你爬,而我对于openurl单纯地理解就是打开网页,

它可以是一个字符串或者是一个 request 对象。而 build_opener 就是多了 handler ,处理问题更专业,更个性化。

代码:

复制代码
import urllib.request

url = "http://blog.csdn.net"

headers = (

	"User-Agent","Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36"

	)

opener = urllib.request.build_opener()

opener.addheaders = [headers]  # 添加 headers 头

data = opener.open(url).read()

print(data)

urllib 有些方面还是没 request 好。

相关推荐
卷心菜的学习路16 分钟前
基于多模态向量检索的数学相似题推荐系统:完整设计、算法与实验
java·python·算法·大模型·推荐算法·数学相似题
winfredzhang39 分钟前
用 wxPython 打造「Claude Code 任务启动器」:一个把 AI CLI 变成一键工作流的桌面工具
python·wxpython·powershell·剪贴板·claudecodecli
Logintern0943 分钟前
DeepAgents 的子 Agent 如何实现上下文隔离
python
天启HTTP43 分钟前
爬虫频繁弹验证码?解析网站反爬检测机制
网络·爬虫·tcp/ip
进击的程序猿~1 小时前
Go Interface源码深度解析指南
开发语言·后端·golang
金銀銅鐵1 小时前
[Python] 借助 Turtle 来展示汉诺塔
python·数学
暴躁的小鸟1 小时前
附近口碑好的斜视配镜训练的眼视光中心
人工智能·python·深度学习
Data_Journal1 小时前
如何使用 Java 和 Jsoup 解析 HTML
大数据·开发语言·数据库·python·scrapy
吃好睡好便好1 小时前
MATLAB仿真框图2
开发语言·matlab·仿真·simulink
如何原谅奋力过但无声2 小时前
现代化Python工具:uv、Ruff、Pyright、Rich(只讲重点版)
vscode·python·uv