Skip to content

Acelin123/cursorworkspace

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

网页内容结构化抓取工具

一个用于智能体知识库构建的Python工具,能够自动抓取已登录网页的全部内容(文字、表格、图片),并将其结构化整理为智能体易于读取的格式。

✨ 核心功能

  • 🔐 登录会话复用:自动读取浏览器Cookies,无需重复登录
  • 📄 全内容抓取:文字、表格、图片全覆盖,无遗漏
  • 🏗️ 结构化整理:输出标准Markdown格式,适合智能体知识库
  • 🌐 多浏览器支持:支持Chrome、Firefox和Edge浏览器
  • 📊 智能表格处理:大表格自动导出Excel文件
  • 🖼️ 图片管理:自动下载并关联图片内容
  • 🎯 多URL批量处理:支持同时抓取多个网页地址
  • 🖥️ 图形界面:提供友好的GUI界面,操作简单直观
  • ⌨️ 命令行支持:支持命令行批量输入URL

🚀 快速开始

1. 安装依赖

pip install -r requirements.txt

2. 在浏览器中登录目标网站

  • 打开Chrome、Firefox或Edge浏览器
  • 访问目标网站并完成登录(账号密码、验证码等)
  • 确保登录状态正常,可以正常访问需要抓取的页面

3. 选择使用方式

方式1: 图形界面版本(推荐)

python web_crawler_gui.py
  • 打开图形界面
  • 在文本框中输入多个网页地址(每行一个)
  • 选择浏览器类型和保存路径
  • 点击"开始抓取"按钮

方式2: 命令行版本

python web_crawler_cli.py
  • 按提示输入多个网页地址
  • 每行输入一个URL
  • 输入完成后按两次回车开始抓取

方式3: 传统配置文件方式

编辑 config.json 文件:

{
  "target_url": "https://your-target-website.com/page-to-crawl",
  "browser_type": "chrome",
  "save_path": "./output",
  "exclude_selectors": [
    ".ad",
    ".advertisement",
    ".popup",
    ".modal",
    ".sidebar",
    ".footer",
    ".header",
    ".navigation",
    ".nav",
    ".menu",
    ".cookie-notice",
    ".privacy-policy",
    ".contact-us",
    ".social-media",
    ".share-buttons",
    ".comments",
    ".related-posts",
    ".recommendations"
  ]
}

然后运行:

python web_knowledge_crawler.py

配置说明

  • target_url: 要抓取的目标网页URL(仅传统方式需要)
  • browser_type: 浏览器类型,支持 "chrome""firefox""edge"
  • save_path: 内容保存路径
  • exclude_selectors: 需要排除的HTML元素选择器列表(可选)

5. 查看结果

抓取完成后,在指定的保存路径中会生成以下文件:

output/
├─ 网页标题.md              # 主文档,包含所有结构化内容
├─ 网页标题_表格1.xlsx      # 大表格的Excel文件(如果存在)
└─ images/                  # 图片文件夹
   ├─ image_01_xxx.jpg
   └─ image_02_yyy.png

📋 系统要求

  • Python版本: 3.8 - 3.11
  • 操作系统: Windows 10+, macOS 12+, Linux
  • 浏览器版本: Chrome 100+, Firefox 90+, Edge 100+

🔧 详细配置

浏览器支持

工具支持以下浏览器:

  • Chrome: 自动读取Chrome的Cookies
  • Firefox: 自动读取Firefox的Cookies
  • Edge: 自动读取Edge的Cookies

内容过滤

通过 exclude_selectors 配置可以排除不需要的内容:

"exclude_selectors": [
  ".ad",                    // 广告
  ".advertisement",         // 广告
  ".popup",                 // 弹窗
  ".modal",                 // 模态框
  ".sidebar",               // 侧边栏
  ".footer",                // 页脚
  ".header",                // 页头
  ".navigation",            // 导航
  ".nav",                   // 导航
  ".menu",                  // 菜单
  ".cookie-notice",         // Cookie通知
  ".privacy-policy",        // 隐私政策
  ".contact-us",            // 联系我们
  ".social-media",          // 社交媒体
  ".share-buttons",         // 分享按钮
  ".comments",              // 评论
  ".related-posts",         // 相关文章
  ".recommendations"        // 推荐内容
]

输出格式

Markdown文档结构

# 网页标题

**抓取时间**: 2024-01-01 12:00:00  
**原始URL**: https://example.com  
**抓取状态**: 成功

## 目录
- [标题1](#标题1)
- [标题2](#标题2)
- [表格内容](#表格内容)
- [图片内容](#图片内容)

## 正文内容
### 标题1
正文内容...

### 标题2
正文内容...

## 表格内容
### 表格 1
| 列1 | 列2 | 列3 |
|-----|-----|-----|
| 数据1 | 数据2 | 数据3 |

## 图片内容
![图片描述](./images/image_01_xxx.jpg)

🐛 常见问题

Q: 提示"读取浏览器cookies失败"

A: 请确保:

  1. 已在浏览器中登录目标网站
  2. 浏览器类型配置正确(chrome/firefox/edge)
  3. 浏览器版本支持(Chrome 100+, Firefox 90+, Edge 100+)

Q: 抓取的内容不完整

A: 请检查:

  1. 目标页面是否需要JavaScript渲染(工具不支持JS渲染)
  2. 是否需要在 exclude_selectors 中添加更多过滤规则
  3. 网络连接是否稳定

Q: 图片下载失败

A: 可能原因:

  1. 图片URL无效或已过期
  2. 网络连接问题
  3. 图片格式不支持

Q: 表格显示异常

A: 请检查:

  1. 表格HTML结构是否标准
  2. 是否有合并单元格(工具会简化处理)
  3. 表格数据量是否过大

📝 日志文件

工具运行时会生成 crawler.log 日志文件,包含详细的运行信息和错误信息,便于问题排查。

🔄 更新日志

v2.0.0

  • 🎯 新增多URL批量处理功能
  • 🖥️ 新增图形界面版本(web_crawler_gui.py)
  • ⌨️ 新增命令行版本(web_crawler_cli.py)
  • 📝 支持同时输入多个网页地址
  • 🔄 改进错误处理和用户提示
  • 📊 实时显示抓取进度

v1.1.0

  • 添加Edge浏览器支持
  • 支持Chrome、Firefox和Edge浏览器
  • 支持文字、表格、图片抓取
  • 输出标准Markdown格式
  • 支持大表格Excel导出

v1.0.0

  • 初始版本发布
  • 支持Chrome和Firefox浏览器
  • 支持文字、表格、图片抓取
  • 输出标准Markdown格式
  • 支持大表格Excel导出

📄 许可证

MIT License

🤝 贡献

欢迎提交Issue和Pull Request来改进这个工具!

📞 支持

如果遇到问题,请:

  1. 查看日志文件 crawler.log
  2. 检查配置文件是否正确
  3. 确认浏览器登录状态
  4. 提交Issue描述问题

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages