小贴士:按下Ctrl+D 或 ⌘+D,一键收藏本站,方便下次快速访问!
MIT License
6
最近更新:1个月前

一个强大的工具,利用 Cursor AI 和 MCP(模型上下文协议)轻松为各种类型的网站生成网络爬虫。

AI-Cursor-Scraping-Assistant

一个强大的工具,利用 Cursor AI 和 MCP(Model Context Protocol)轻松生成适用于各种类型网站的网络爬虫。该项目帮助你快速分析网站并以最小的努力生成适当的 Scrapy 或 Camoufox 爬虫。

项目概述

该项目包含两个主要组件:

  1. Cursor Rules - 一组规则,教导 Cursor AI 如何分析网站并创建不同类型的 Scrapy 爬虫
  2. MCP Tools - 一系列 Model Context Protocol 工具,增强 Cursor 在网络爬取任务中的能力

前提条件

  • Cursor AI 已安装
  • Python 3.10+ 已安装
  • 基本的网络爬取概念知识

安装

将此仓库克隆到本地机器:

bash 复制代码
git clone https://github.com/TheWebScrapingClub/AI-Cursor-Scraping-Assistant.git
cd AI-Cursor-Scraping-Assistant

安装所需的依赖项:

bash 复制代码
pip install mcp camoufox scrapy

如果你计划使用 Camoufox,需要获取其浏览器二进制文件:

bash 复制代码
python -m camoufox fetch

设置

设置 MCP 服务器

MCP 服务器提供工具,帮助 Cursor AI 分析网页并生成 XPath 选择器。要启动 MCP 服务器:

  1. 导航到 MCPfiles 目录:

    bash 复制代码
    cd MCPfiles
  2. 更新 xpath_server.py 中的 CAMOUFOX_FILE_PATH 以指向你的本地 Camoufox_template.py 文件。

  3. 启动 MCP 服务器:

    bash 复制代码
    python xpath_server.py
  4. 在 Cursor 中,通过在设置中配置或使用 MCP 面板连接到 MCP 服务器。

Cursor 规则

cursor-rules 目录包含规则,教导 Cursor AI 如何分析网站并创建不同类型的爬虫。这些规则在你在 Cursor 中打开项目时会自动加载。

详细的 Cursor 规则解释

cursor-rules 目录包含一组 MDC(Markdown Configuration)文件,指导 Cursor 在创建网络爬虫时的行为:

prerequisites.mdc

此规则处理创建任何爬虫之前的初始设置任务:

  • 使用 pwd 获取当前项目的完整路径
  • 将路径存储在上下文中供其他规则后续使用
  • 确认执行初步操作后再继续

website-analysis.mdc

此综合规则指导 Cursor 进行网站分析:

  • 确定要构建的 Scrapy 爬虫类型(PLP、PDP 等)
  • 获取并存储主页 HTML 和 cookies
  • 使用 MCP 工具剥离 CSS 以简化 HTML 分析
  • 检查 cookies 是否有反机器人保护(Akamai、Datadome、PerimeterX 等)
  • 对于 PLP 爬虫:获取分类页面,分析结构,查找 JSON 数据
  • 对于 PDP 爬虫:获取产品页面,分析结构,查找 JSON 数据
  • 检测 schema.org 标记和现代框架如 Next.js

scrapy-step-by-step-process.mdc

此规则提供了创建爬虫的执行流程:

  • 概述要遵循的步骤顺序
  • 按正确顺序引用其他规则文件
  • 确保在创建爬虫之前完成前提操作
  • 指导 Cursor 在生成代码之前分析网站

scrapy.mdc

此广泛规则包含 Scrapy 的最佳实践:

  • 定义推荐的代码组织和目录结构
  • 详细说明文件命名约定和模块组织
  • 提供组件架构指南
  • 提供代码拆分和重用策略
  • 包括性能优化建议
  • 涵盖安全实践、错误处理和日志记录
  • 提供具体的语法示例和代码片段

scraper-models.mdc

此规则定义了可以创建的不同类型的爬虫:

  • E-commerce PLP:详细说明数据结构、字段定义和实现步骤
  • E-commerce PDP:详细说明数据结构、字段定义和实现步骤
  • 所有爬虫类型的字段映射指南
  • 创建每种类型爬虫的逐步说明
  • 默认设置建议
  • 不同保护系统的反机器人对策

使用方法

以下是使用 AI-Cursor-Scraping-Assistant 的方法:

  1. 在 Cursor AI 中打开项目
  2. 确保 MCP 服务器正在运行
  3. 要求 Cursor 创建一个爬虫,例如:
    复制代码
    Write an e-commerce PLP scraper for the website gucci.com

Cursor 将会:

  1. 分析网站结构
  2. 检查反机器人保护
  3. 提取相关 HTML 元素
  4. 根据网站类型生成完整的 Scrapy 爬虫

可用的爬虫类型

你可以请求不同类型的爬虫:

  • E-commerce PLP (Product Listing Page) - 抓取产品目录/分类页面
  • E-commerce PDP (Product Detail Page) - 抓取详细的产品信息

例如:

复制代码
Write an e-commerce PDP scraper for nike.com

高级用法

Camoufox 集成

该项目包括一个 Camoufox 模板,用于创建可以绕过某些反机器人措施的隐蔽爬虫。MCP 工具可以帮助你:

  1. 使用 Camoufox 获取页面内容
  2. 为所需元素生成 XPath 选择器
  3. 基于模板创建完整的 Camoufox 爬虫

自定义爬虫

你可以通过向 cursor-rules 文件中添加新的爬虫类型来扩展功能。模块化设计使得自定义变得简单。

项目结构

复制代码
AI-Cursor-Scraping-Assistant/
├── MCPfiles/
│   ├── xpath_server.py     # 带有网络爬取工具的 MCP 服务器
│   └── Camoufox_template.py # Camoufox 爬虫模板
├── cursor-rules/
│   ├── website-analysis.mdc    # 分析网站的规则
│   ├── scrapy.mdc              # Scrapy 的最佳实践
│   ├── scrapy-step-by-step-process.mdc # 创建爬虫的指南
│   ├── scraper-models.mdc      # 不同爬虫类型的模板
│   └── prerequisites.mdc       # 设置要求
└── README.md

TODO: 未来增强

以下功能计划在未来开发中实现:

代理集成

  • 在操作员请求时添加代理支持
  • 实现代理轮换策略
  • 支持不同的代理提供商
  • 处理代理身份验证
  • 与流行的代理服务集成

改进的 XPath 生成和验证

  • 添加生成的 XPath 选择器的验证机制
  • 实现选择器细化的反馈循环
  • 控制流管理以重新处理选择器
  • 自动修正有问题的选择器
  • 处理动态内容和 AJAX 加载等边缘情况

其他计划功能

  • 支持更多类型的爬虫(新闻网站、社交媒体等)
  • 与额外的反机器人绕过技术集成
  • 增强 JSON 提取能力
  • 支持更复杂的导航模式
  • 多页抓取优化

参考资料

该项目基于 The Web Scraping Club 的文章:

有关网络爬取技术和最佳实践的更多信息,请访问 The Web Scraping Club

贡献

欢迎贡献!请随时提交 Pull Request。

许可证

该项目根据 MIT 许可证发布 - 详情请参阅 LICENSE 文件。