一个轻量级 Python 爬虫,支持图片按分类抓取和金句含出处记录,方便后期管理和检索。
- 🖼️ 图片分类存储 — 自动按分类建文件夹,MD5去重
- 💬 金句出处记录 — 每条记录作者、出处、分类
- 🔄 模糊去重 — 避免重复收录
- 📊 CSV导出 — 金句可导出为CSV,Excel直接打开
- 🪶 零依赖 — 只需
requests,纯标准库实现
pip install requests# 抓取古文岛古诗词名句(5页,约100条,含作者+出处)
python main.py quotes --guwendao
# 抓取一言API(动漫/文学/影视等多分类语录)
python main.py quotes --hitokoto 50
# 一键抓取全部配置的金句源
python main.py quotes --all
# 手动添加金句
python main.py quotes --text "人生如逆旅,我亦是行人" --source "临江仙" --author "苏轼" --cat "古诗词"# 按 config.py 配置批量抓取(默认含风景/城市/美食/动物/科技/极简)
python main.py images
# 抓取指定页面的图片
python main.py images --url "https://example.com/photos" --cat "风景"# 查看统计
python main.py manage list
# 搜索金句
python main.py manage search --keyword "人生"
python main.py manage search --author "李白"
python main.py manage search --category "古诗词名句"
# 导出金句为CSV(Excel可直接打开)
python main.py manage exportscraper/
├── config.py # ⚙️ 配置文件(抓取目标、分类、参数)
├── main.py # 🚀 命令行入口
├── image_scraper.py # 📸 图片爬虫核心
├── quote_scraper.py # 💬 金句爬虫核心
├── requirements.txt # 依赖
├── .gitignore
├── images/ # 图片按分类存储(git忽略)
│ ├── _metadata.json
│ ├── 风景/
│ ├── 城市/
│ └── ...
└── quotes/ # 金句存储
├── quotes.json # 结构化数据
└── quotes.csv # CSV导出
编辑 config.py 自定义抓取目标:
IMAGE_SOURCES = {
"风景": {
"urls": [
"https://source.unsplash.com/1600x900/?landscape,nature",
],
"description": "自然风景",
},
# 添加更多分类...
}QUOTE_SOURCES = {
"古诗词名句": {
"urls": [
"https://www.guwendao.net/mingjus/",
"https://www.guwendao.net/mingjus/default.aspx?p=2",
# 添加更多页...
],
},
"一言": {
"api": "https://v1.hitokoto.cn/",
},
}{
"text": "仰天大笑出门去,我辈岂是蓬蒿人。",
"source": "南陵别儿童入京",
"author": "李白",
"category": "古诗词名句",
"url": "https://www.guwendao.net/shiwenv_b6447ef32a25.aspx",
"tags": [],
"scraped_at": "2026-05-12T14:34:32"
}| 类型 | 来源 | 说明 |
|---|---|---|
| 金句 | 古文岛 (guwendao.net) | 古诗词名句,含作者+作品出处 |
| 金句 | 一言 (hitokoto.cn) | 动漫/文学/影视/游戏等多分类语录 |
| 图片 | Unsplash Source | 无版权高清图片,按关键词分类 |
- 请遵守目标网站的 robots.txt 和使用条款
- 默认请求间隔 1.5 秒,礼貌爬取
- 图片默认最大 10MB,最小 100x100px
- 所有抓取内容自动去重