尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

如何使用FlareSolverr来抓取Cloudflare网站 - 狼人:

如何使用FlareSolverr来抓取Cloudflare网站 - 狼人:
📅 发布时间:2026/6/19 10:24:19

如何使用FlareSolverr来抓取Cloudflare网站

2025-10-28 14:57  狼人:-)  阅读(0)  评论(0)    收藏  举报
image

有没有想过抓取网站以获取有价值的数据,但突然发现它使用了Cloudflare,然后感到失望?那么现在不需要再感到沮丧了,因为有一个实际的解决方案来解决这个问题,它叫做FlareSolverr。

使用FlareSolverr,您可以轻松绕过Cloudflare的限制,并获取以前无法访问的网站的抓取访问权限。

在本指南中,您将学习如何安装和使用FlareSolverr以进行无限制的数据抓取。除此之外,您还将了解如何使用POST请求和管理会话以实现更有效的流程。请继续阅读以了解更多信息。

什么是FlareSolverr?

FlareSolverr 是一个代理服务器,允许您抓取受 Cloudflare 保护的网站并克服其限制。以下是其工作原理。

一旦收到请求,FlareSolverr 就会创建一个基于 Chrome 的网页浏览器,并使用用户参数打开你的目标 URL。然后,它会等待直到解决 Cloudflare 挑战。最后,它会返回内容和 cookies,这样你就可以使用它们通过 Python Request 等 HTTP 客户端绕过 Cloudflare。

小贴士:要让你的抓取过程更进一步,可以考虑将FlareSolverr与移动代理结合使用。

如何安装FlareSolverr

FlareSolverr 支持 Windows、Linux 和 macOS,您可以使用其 docker 镜像、预编译的二进制文件或源代码进行安装。在本教程中,您将学习如何使用 Docker 容器安装它。这种方法的主要好处是,docker 镜像已经预装了外部浏览器,您需要它来使 FlareSolverr 正常工作。

1. 安装软件依赖项

在安装FlareSolverr之前,您应首先考虑其软件依赖项,如下所示。

  • 使用其官方指南安装Docker在你的操作系统上。
  • 更新libseccomp2到2.5或更高版本(仅限Debian用户)。

如果你正在以超级用户权限运行 Ubuntu,使用以下三个命令是安装 Docker 的最快和最简单的方法。

 

apt-get install docker.io
systemctl enable docker
systemctl start docker

 

2. 使用其Docker镜像安装FlareSolverr

使用以下命令在 Linux、Windows 或 Mac 上从 docker 镜像安装 FlareSolverr。如果你在没有 root 权限的 Linux 上使用,请记得添加 “sudo”。

 

docker pull flaresolverr/flaresolverr

 

如需更多信息,您可以使用以下链接找到FlareSolverr的Docker镜像。

GitHub: https://github.com/orgs/FlareSolverr/packages/container/package/flaresolverr
DockerHub: https://hub.docker.com/r/flaresolverr/flaresolverr

3. 运行 FlareSolverr

您现在可以在 Linux、Windows 或 Mac 上使用以下命令运行 FlareSolverr。如果您在没有 root 权限的 Linux 系统上使用,请记得添加 “sudo”。

 

docker run -d \
--name=flaresolverr \
-p 8191:8191 \
-e LOG_LEVEL=info \
--restart unless-stopped \
ghcr.io/flaresolverr/flaresolverr:latest

 

4. 验证 FlareSolverr 正在运行

最后,通过在浏览器中打开以下URL来测试FlareSolverr是否正常工作。

网址: http://localhost:8191

如果你看到类似“FlareSolverr 准备好了!”的响应,你可以放心地认为你已经成功安装。

就是这样。现在是时候学习如何使用这个神奇的工具从Cloudflare保护的网站中获取你需要的所有数据了。

如何使用FlareSolverr

如您将在本节的后续部分所看到的,有两大主要方法使用FlareSolverr来抓取网站数据。但在深入研究这些方法之前,您应该先看看两个简单的请求示例。第一个示例将依赖于bash和curl,而第二个示例则利用了Python Requests。

运行一个 Curl 请求

如果你想直接从bash中使用FlareSolverr,你可以使用curl命令。参考下面的代码片段。

 

curl -L -X POST 'http://localhost:8191/v1' \
-H 'Content-Type: application/json' \
--data-raw '{"cmd": "request.get","url":"http://www.website.com","maxTimeout": 60000
}'

 

运行Python请求

另一方面,您可以选择使用Python Requests来实现相同的功能。请参考下面的代码片段。

 

import requests
url = "http://localhost:8191/v1"
headers = {"Content-Type": "application/json"}
data = {"cmd": "request.get","url": "http://www.website.com","maxTimeout": 60000
}
response = requests.post(url, headers=headers, json=data)
print(response.text)

 

输出示例

如果一切按预期进行,你的输出应如下所示。

 

{"status": "ok","message": "Challenge solved!","solution": {"url": "https://website.com","status": 200,"cookies": [{"domain": "website.com","httpOnly": false,"name": "2F_TT","path": "/","secure": true,"value": "0"},],"userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36","headers": {},"response": "<html><head>...</head><body>...</body></html>"},
}

 

使用 Python Requests 进行网页抓取

您可以配置FlareSolverr以检索有效的Cloudflare cookies,并使用Python Requests与它们一起工作。这是爬取Cloudflare网站最具资源效率的方法。请参阅下面的代码片段以供参考。

 

import requestspost_body = {"cmd": "request.get","url":"https://website.com","maxTimeout": 60000
}
response = requests.post('http://localhost:8191/v1', headers={'Content-Type': 'application/json'}, json=post_body)if response.status_code == 200:json_response = response.json()if json_response.get('status') == 'ok':cookies = json_response['solution']['cookies']clean_cookies_dict = {cookie['name']: cookie['value'] for cookie in cookies}# Fetches cookiesuser_agent = json_response['solution']['userAgent']# Fetches user agentheaders={"User-Agent": user_agent}# Creates a requestresponse = requests.get("https://website.com", headers=headers, cookies=clean_cookies_dict)if response.status_code == 200:print('Success')

 

使用网址列表进行抓取

或者,您也可以使用FlareSolverr和页面URL列表来简化此过程。在这种情况下,您将不得不依赖于其集成的HTTP客户端,这将需要更多的服务器或计算机资源。请参阅下面的代码片段以供参考。

 

import requestsurl_list = ['https://website1.com','https://website2.com','https://website3.com',
]
for url in url_list:post_body = {"cmd": "request.get","url": url,"maxTimeout": 60000
}response = requests.post('http://localhost:8191/v1', headers={'Content-Type': 'application/json'}, json=post_body)if response.status_code == 200:json_response = response.json()if json_response.get('status') == 'ok':html = json_response['solution']['response']print('Success')

 

如何管理会话

如果您需要使用Cloudflare的Cookies一段时间,您可以设置FlareSolverr会话。通过这样做,您将不再需要反复解决Cloudflare的挑战或在每次发送请求时都发送Cookies。

您可以使用FlareSolverr通过以下列出的命令来创建、列出和删除会话。

  • 会话创建
  • 会话列表
  • 会话.销毁

继续阅读,了解如何使用每一个。

创建会话

要创建一个会话,请将“cmd”设置设置为“session.create”。参考下面的代码片段。

 

import requests
url = "http://localhost:8191/v1"
headers = {"Content-Type": "application/json"}
data = {"cmd": "sessions.create","url": "https://website.com","maxTimeout": 60000
}
response = requests.post(url, headers=headers, json=data)
print(response.content)

 

如果一切顺利,您应该会看到一个包含“会话创建成功。”的输出。

列出会话

如果你想检查你的活动会话,可以通过它们的ID列出它们。要这样做,请将“cmd”设置为“sessions.list”。以下是供参考的代码片段。

 

curl -L -X POST 'http://localhost:8191/v1' \
-H 'Content-Type: application/json' \
--data-raw '{"cmd": "sessions.list","url":"http://website.com","maxTimeout": 60000
}'

 

移除一个会话

既然你已经知道你的会话ID,你就可以用它来移除会话。要移除一个会话,将“cmd”设置为“session.destroy.”,并将“session”设置为正确的ID。下面的代码片段供你参考。

 

curl -L -X POST 'http://localhost:8191/v1' \
-H 'Content-Type: application/json' \
--data-raw '{"cmd": "sessions.destroy","session": "session_ID","url":"http://website.com","maxTimeout": 60000
}'

现在你已经了解了管理 FlareSolverr 会话的所有内容。

如何发送POST请求

如果你需要从POST端点检索Cloudflare cookies,可以使用FlareSolverr来发送POST请求。为此,你需要通过将“request.get”替换为“request.post”来配置cmd设置。下面的代码片段可供参考。

 

import requests
post_body = {"cmd": "request.post","url":"https://www.website.com/POST","postData": POST_DATA,"maxTimeout": 60000
}
response = requests.post('http://localhost:8191/v1', headers={'Content-Type': 'application/json'}, json=post_body)
print(response.json())

 

在设置“POST_DATA”时,请记住使用 application/x-www-form-urlencoded 格式的字符串(例如 a=b&c=d)。

最后的话

FlareSolverr 是一个非常有效的工具,您可以使用它来绕过 Cloudflare 限制并抓取之前发现无法访问的数据。与移动代理结合使用,FlareSolverr 可以将您的抓取实践提升到一个新的水平。

通过这个分步指南,您已经学会了如何有效地安装和运行此软件。此外,现在您知道如何以各种方式使用它,并且还可以通过会话更有效地管理它。

按照这些说明操作,抓取受Cloudflare保护的网站将变得轻而易举。现在是时候自己测试一下并享受这款神奇软件的好处了。

声明:此博有部分内容为转载,版权归原作者所有~

相关新闻

  • 云端微信 - 随时随地在浏览器访问
  • 线段树的各种姿势
  • LangGraph MCP - 使用LangGraph实现多智能体架构(七)

最新新闻

  • StarUML Java插件:3步实现UML与Java代码的双向同步
  • 深圳黄金回收实测指南,六大本地奢品门店走访测评 - 薛定谔的梨花猫
  • 2026 宁波闲置名包处置全测评:正规连锁门店横向对比,看懂皮具估价底层逻辑 - 奢侈品回收评测
  • 渭南黄金回收指南:六家靠谱店铺推荐,覆盖全市区县安心变现 - 清奢黄金上门回收
  • 阿拉善盟黄金回收去哪儿好?整理了5家靠谱实体店地址电话 - 奢金汇
  • 2026西宁黄金回收白银回收铂金回收门店+工商公安双备案+中检认证商家推荐 - 诚金汇钻回收公司

日新闻

  • 5分钟掌握Python进化算法:Geatpy高性能优化工具完全指南
  • Microchip 24AA044 EEPROM选型与应用全指南:从参数解析到实战编程
  • 华为的鸿蒙到底有多牛?为什么称作遥遥领先?

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号