Files
BlueRoseNote/07-Other/AI/AI Agent/WY/Website/Netease AITA ArtLib.md

132 lines
5.9 KiB
Markdown
Raw Normal View History

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、ViteVue 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 ModeUndetected 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))
```
2026-04-01 15:50:46 +08:00
**重要提醒:** 爬取数据请务必遵守目标网站的 `robots.txt` 协议及当地法律法规。过度高频的爬取不仅会被封禁,还可能面临法律风险。
# Clouderve
我部署了一个Clouderve http://10.145.96.67:5212/ 用于提供artlib具体的资产下载。请学习 API以及相关文档之后进行构建。
## 主要逻辑
1. 构建一个工具使用fab的账号密码登录并下载资产暂缓开发目前手工下载并上传到clouderve上
2. Artlib每过一年就对Clouderve进行扫描之后将数据库中的项目与Clouderve项对应。确保用户可以下载到指定引擎版本的资产
3. 用户进入资产详细页面后如果该资产在Clouderve上存在页面按钮就是 下载点击后显示下拉菜单显示可现在的版本选择版本后进行下载如果没有则显示访问Fab点击后跳转到fab资产的原界面。
4.
## Clouderve目录说明
clouderve的目录结构
- Fab
- UnrealEngine
- Plugins
- ProInstanceToolPlugin
- UE5.5
- UE5.6
- UE5.7
说明
1. UnrealEngine层级目录为资产种类除此之外还可以是Unity、MetaHuman等。
2. Plugins为资产类型与Fab资产分类有关除此之外还可以Decal、Material、Texture。
3. ProInstanceToolPlugin层级为具体的资产名文件夹我这边上传了ProInstanceToolPlugin作为案例。
4. UE5.5层级目录为引擎版本目前我只打算托管UE4.27、UE5.0~最新版本。
## API文档
- API
- https://docs.cloudreve.org/zh/api/overview
- [https://docs.cloudreve.org/zh/api/overview](https://cloudrevev4.apifox.cn/)