一个用于智能体知识库构建的Python工具,能够自动抓取已登录网页的全部内容(文字、表格、图片),并将其结构化整理为智能体易于读取的格式。
- 🔐 登录会话复用:自动读取浏览器Cookies,无需重复登录
- 📄 全内容抓取:文字、表格、图片全覆盖,无遗漏
- 🏗️ 结构化整理:输出标准Markdown格式,适合智能体知识库
- 🌐 多浏览器支持:支持Chrome、Firefox和Edge浏览器
- 📊 智能表格处理:大表格自动导出Excel文件
- 🖼️ 图片管理:自动下载并关联图片内容
- 🎯 多URL批量处理:支持同时抓取多个网页地址
- 🖥️ 图形界面:提供友好的GUI界面,操作简单直观
- ⌨️ 命令行支持:支持命令行批量输入URL
pip install -r requirements.txt- 打开Chrome、Firefox或Edge浏览器
- 访问目标网站并完成登录(账号密码、验证码等)
- 确保登录状态正常,可以正常访问需要抓取的页面
python web_crawler_gui.py- 打开图形界面
- 在文本框中输入多个网页地址(每行一个)
- 选择浏览器类型和保存路径
- 点击"开始抓取"按钮
python web_crawler_cli.py- 按提示输入多个网页地址
- 每行输入一个URL
- 输入完成后按两次回车开始抓取
编辑 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.pytarget_url: 要抓取的目标网页URL(仅传统方式需要)browser_type: 浏览器类型,支持"chrome"、"firefox"或"edge"save_path: 内容保存路径exclude_selectors: 需要排除的HTML元素选择器列表(可选)
抓取完成后,在指定的保存路径中会生成以下文件:
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" // 推荐内容
]# 网页标题
**抓取时间**: 2024-01-01 12:00:00
**原始URL**: https://example.com
**抓取状态**: 成功
## 目录
- [标题1](#标题1)
- [标题2](#标题2)
- [表格内容](#表格内容)
- [图片内容](#图片内容)
## 正文内容
### 标题1
正文内容...
### 标题2
正文内容...
## 表格内容
### 表格 1
| 列1 | 列2 | 列3 |
|-----|-----|-----|
| 数据1 | 数据2 | 数据3 |
## 图片内容
A: 请确保:
- 已在浏览器中登录目标网站
- 浏览器类型配置正确(chrome/firefox/edge)
- 浏览器版本支持(Chrome 100+, Firefox 90+, Edge 100+)
A: 请检查:
- 目标页面是否需要JavaScript渲染(工具不支持JS渲染)
- 是否需要在
exclude_selectors中添加更多过滤规则 - 网络连接是否稳定
A: 可能原因:
- 图片URL无效或已过期
- 网络连接问题
- 图片格式不支持
A: 请检查:
- 表格HTML结构是否标准
- 是否有合并单元格(工具会简化处理)
- 表格数据量是否过大
工具运行时会生成 crawler.log 日志文件,包含详细的运行信息和错误信息,便于问题排查。
- 🎯 新增多URL批量处理功能
- 🖥️ 新增图形界面版本(web_crawler_gui.py)
- ⌨️ 新增命令行版本(web_crawler_cli.py)
- 📝 支持同时输入多个网页地址
- 🔄 改进错误处理和用户提示
- 📊 实时显示抓取进度
- 添加Edge浏览器支持
- 支持Chrome、Firefox和Edge浏览器
- 支持文字、表格、图片抓取
- 输出标准Markdown格式
- 支持大表格Excel导出
- 初始版本发布
- 支持Chrome和Firefox浏览器
- 支持文字、表格、图片抓取
- 输出标准Markdown格式
- 支持大表格Excel导出
MIT License
欢迎提交Issue和Pull Request来改进这个工具!
如果遇到问题,请:
- 查看日志文件
crawler.log - 检查配置文件是否正确
- 确认浏览器登录状态
- 提交Issue描述问题