2026-03-08 20:45:30 +08:00
|
|
|
|
# 提示词
|
2026-03-08 22:23:20 +08:00
|
|
|
|
我想制作一个UE资源下载网站,功能与风格样式参照:
|
|
|
|
|
|
https://www.fab.com/
|
|
|
|
|
|
https://www.fab.com/channels/unreal-engine
|
|
|
|
|
|
https://www.fab.com/listings/bb7df0df-a2e7-430f-a382-7c3b121bf767
|
2026-03-08 20:45:30 +08:00
|
|
|
|
|
|
|
|
|
|
## 主要功能
|
2026-03-08 22:23:20 +08:00
|
|
|
|
1. 使用爬虫爬取Fab.com的资源信息,使用该站点承载、显示这些信息。
|
|
|
|
|
|
2. 部分已有资源使用**Cloudreve**网盘系统进行存储,点击按钮就可以下载到本地。
|
2026-03-08 20:45:30 +08:00
|
|
|
|
3. 简单的账户登录机制, 并且提供OpenID登录方式。
|
|
|
|
|
|
## 技术选型
|
|
|
|
|
|
我打算使用:
|
|
|
|
|
|
前端技术:TypeScript、Vue 3、Vite;Vue Router、Pinia;前端组件请使用Element Plus,使用pnpm install element-plus 进行安装;除此之外还有Lucide Icons, Tailwind CSS (可选)。
|
|
|
|
|
|
后端技术:nodejs、Fastify、Mongoose、fastify-jwt
|
2026-03-08 22:23:20 +08:00
|
|
|
|
数据库:MongoDB、MySQL。
|
2026-03-08 20:45:30 +08:00
|
|
|
|
工具函数:Axios、VueUse、pnpm
|
|
|
|
|
|
|
|
|
|
|
|
## 部署方式
|
|
|
|
|
|
1. 该网站项目使用gitea托管,使用CI/CD进行生成与部署。
|
2026-04-01 12:30:06 +08:00
|
|
|
|
2. 部署到同IP Nodejs Docker容器中。
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
在使用 **Claude Code** 或类似的 AI 开发工具编写爬取脚本时,绕过 Cloudflare 的核心在于**“去自动化特征”**。Cloudflare 的防护(如 5 秒盾、Turnstile)不仅检查你的 IP,还会深入分析你的浏览器指纹、TLS 握手以及行为模式。
|
|
|
|
|
|
|
|
|
|
|
|
以下是针对 2026 年技术环境,在 Claude Code 中实现避开风控的实战策略:
|
|
|
|
|
|
|
|
|
|
|
|
### 1. 使用具备“隐身”能力的浏览器框架
|
|
|
|
|
|
|
|
|
|
|
|
传统的 Selenium 或普通的 Puppeteer 极易被识别。你应该指示 Claude Code 使用以下增强库:
|
|
|
|
|
|
|
|
|
|
|
|
- **Playwright + Stealth 插件**:目前最主流的选择。
|
|
|
|
|
|
|
|
|
|
|
|
- **SeleniumBase (UC Mode)**:这是目前绕过 Cloudflare 最强的工具之一,其 `undetected-chromedriver` 模式能有效隐藏自动化痕迹。
|
|
|
|
|
|
|
|
|
|
|
|
- **npx Claude Code 提示词示例**:
|
|
|
|
|
|
|
|
|
|
|
|
> "请使用 Python 的 SeleniumBase 库,并开启 UC Mode(Undetected Mode)编写爬取脚本,以绕过目标的 Cloudflare 检测。"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### 2. 模拟真实浏览器的指纹
|
|
|
|
|
|
|
|
|
|
|
|
Cloudflare 会检查你的 HTTP 请求头是否与底层的 TLS 握手特征匹配(例如,如果你自称是 Chrome 但 TLS 握手特征是 Python-requests,会被秒封)。
|
|
|
|
|
|
|
|
|
|
|
|
- **TLS 指纹模拟**:使用 `curl_cffi` 库,它可以模拟真实浏览器(如 Chrome 120+)的 TLS 握手特征。
|
|
|
|
|
|
|
|
|
|
|
|
- **请求头伪造**:确保 `User-Agent`、`Accept-Language`、`Sec-Ch-Ua` 等字段与真实浏览器完全一致。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### 3. IP 质量与地理位置
|
|
|
|
|
|
|
|
|
|
|
|
即使代码再完美,数据中心的 IP(如 AWS, Google Cloud)也是 Cloudflare 的重点监控对象。
|
|
|
|
|
|
|
|
|
|
|
|
- **使用住宅代理(Residential Proxies)**:这些 IP 看起来像普通家庭用户。
|
|
|
|
|
|
|
|
|
|
|
|
- **轮换代理**:每次请求或每隔几次操作更换一次 IP。
|
|
|
|
|
|
|
|
|
|
|
|
- **IPv6 优先**:2026 年很多防护系统对 IPv6 的限制相对宽松,且资源更丰富。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### 4. 绕过交互挑战 (CAPTCHA/Turnstile)
|
|
|
|
|
|
|
|
|
|
|
|
当 Cloudflare 弹出验证码时,纯代码通常无法处理。
|
|
|
|
|
|
|
|
|
|
|
|
- **验证码识别服务**:在代码中集成如 CapSolver 或 2Captcha 的 API。
|
|
|
|
|
|
|
|
|
|
|
|
- **Cloudflare Workers 代理**:有时通过部署在 Cloudflare 内部的 Workers 作为跳板(利用其内部信任机制)会有奇效,但这取决于目标的具体配置。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
### 综合架构建议
|
|
|
|
|
|
|
|
|
|
|
|
|**维度**|**推荐技术栈**|**作用**|
|
|
|
|
|
|
|---|---|---|
|
|
|
|
|
|
|**底层驱动**|`SeleniumBase (UC Mode)` 或 `Playwright`|隐藏 WebDriver 特征|
|
|
|
|
|
|
|**网络请求**|`curl_cffi` (Python)|解决 TLS 指纹识别问题|
|
|
|
|
|
|
|**IP 资源**|动态住宅代理 (Residential Proxies)|绕过 IP 频率限制和黑名单|
|
|
|
|
|
|
|**行为模拟**|`B-Splines` 曲线模拟鼠标移动|模拟真人操作轨迹|
|
|
|
|
|
|
|
|
|
|
|
|
### Claude Code 实战操作小贴士:
|
|
|
|
|
|
|
|
|
|
|
|
在 Claude Code 终端中,你可以这样引导它:
|
|
|
|
|
|
|
|
|
|
|
|
1. **第一步:环境检查**。先让它写一个简单的脚本访问 `https://nowsecure.nl`(这是一个专门测试 Cloudflare 绕过程度的网站)并截图。
|
|
|
|
|
|
|
|
|
|
|
|
2. **第二步:迭代优化**。如果截图显示被拦截,要求它:“目前的脚本被拦截了,请尝试集成 `stealth` 插件并随机化延迟时间。”
|
|
|
|
|
|
|
|
|
|
|
|
3. **第三步:添加随机性**。
|
|
|
|
|
|
|
|
|
|
|
|
Python
|
|
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
import time
|
|
|
|
|
|
import random
|
|
|
|
|
|
# 绝不要使用固定的 sleep(5)
|
|
|
|
|
|
time.sleep(random.uniform(2.5, 7.8))
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
**重要提醒:** 爬取数据请务必遵守目标网站的 `robots.txt` 协议及当地法律法规。过度高频的爬取不仅会被封禁,还可能面临法律风险。
|