使用 Scrapy 绕过 Cloudflare:2024 年最新教程

Expert Network Defense Engineer
Cloudflare 是一个流行的在线性能和安全工具。其复杂的反机器人系统采用尖端技术识别和阻止人工流量,导致出现“访问被拒绝”错误消息。
本文将教你如何使用 Python 和 Scrapy Cloudflare 中间件绕过 Cloudflare。
Scrapy-Cloudflare 中间件是什么?
一个名为 Scrapy Cloudflare 中间件的程序与 Scrapy 网络抓取工具协同工作,替你处理 Cloudflare 问题。它充当你的 Scrapy 蜘蛛和目标服务器之间的中间人,以便在抓取过程的不同阶段拦截和修改请求和回复。
在你的 Scrapy 项目中使用中间件将提高你躲避检测和封锁的可能性。
Scrapy-Cloudflare 如何运作?
Scrapy 在开始爬取时,会为预定的 URL 创建查询。Scrapy Cloudflare 可以通过中间件管道来更改这些请求,以模仿人类行为。
该工具的主要目的是绕过 Cloudflare 的“我正在受到攻击模式”页面。Scrapy Cloudflare 中间件会解析 JavaScript 挑战,它会在接收到请求时拦截来自 Cloudflare 挑战服务器的响应。
如何使用 Scrapy-Cloudflare 中间件绕过 Cloudflare?
本文将向你展示如何使用 Python 和 Scrapy 绕过 Cloudflare。在提交请求之前,你必须将中间件添加到 DOWNLOADER_MIDDLEWARES
设置中。
1. 准备 scrapy
确保安装了 Python,因为 Scrapy 是一个开源框架,需要 Python 3.6 或更高版本。接下来,在你的终端中使用以下命令安装 Scrapy:
language
pip install scrapy
接下来,执行以下命令以启动一个新的 Scrapy 项目。用 test_project
替换你的项目名称。
language
scrapy startproject test_project
打开新创建的项目目录并启动第一个爬虫。
language
cd test_project
scrapy genspider (SpiderName) (TargetURL)
厌倦了不断被CAPTCHA阻碍你的网页抓取工作?
向您强烈推荐 Scrapeless - 性能强大的一体化网页抓取解决方案。
Scrapeless:目前最好的一体化在线抓取解决方案!
借助我们强大的工具套件,可以轻松发挥数据抓取的全部潜力:
最佳 CAPTCHA 解码器
自动解决复杂的 CAPTCHA 问题,确保持续而丝滑地抓取网页数据。
免费试用开启中!
2. 设置并整合 Scrapy Cloudflare 中间件
安装 Scrapy Cloudflare 中间件需要导航到根目录并执行以下命令:
language
pip install scrapy_cloudflare_middleware
然后,打开 settings.py
文件并包含 Scrapy Cloudflare 中间件。您的 settings.py
文件应该类似于以下内容:
language
BOT_NAME = "test_project"
SPIDER_MODULES = ["test_project.spiders"]
NEWSPIDER_MODULE = "test_project.spiders"
DOWNLOADER_MIDDLEWARES = {
"test_project.middlewares.TestProjectDownloaderMiddleware": 543,
"scrapy_cloudflare_middleware.middlewares.CloudFlareMiddleware": 560,
}
结论
Python Scrapy Cloudflare 中间件依赖于规避基本的 JavaScript Cloudflare 问题。但安全系统一直在更新其防御措施,因此 Scrapy Cloudflare 中间件不再起作用。
值得庆幸的是,有一个名为 Scrapeless 的 Scrapy 替代方案,它提供了一种行之有效的解决方案来保持不被封锁。立即加入以获取免费试用吧!
在Scrapeless,我们仅访问公开数据,同时严格遵守适用的法律、法规和网站隐私政策。 本博客内容仅用于演示目的,不涉及任何非法或侵权行为。 对于使用本博客或第三方链接的信息,我们不做任何保证,也不承担任何责任。 在参与任何抓取活动之前,请咨询您的法律顾问并查看目标网站的服务条款或获取必要的权限。