使用说明.md 5.03 KB

Shopee API 爬虫 - 使用说明

✅ 已完成的工作

  1. 爬虫脚本: shopee_crawler.py - 主爬虫程序
  2. 测试脚本: test_crawler.py - 测试用(爬取前5个)
  3. 查询词文件: queries.txt - 5024个搜索关键词
  4. 使用文档: README.md - 详细使用说明

📂 目录结构

data_crawling/
├── shopee_crawler.py          # 主爬虫脚本
├── test_crawler.py            # 测试脚本
├── queries.txt                # 5024个查询词
├── 万邦API_shopee.md          # API文档
├── README.md                  # 详细说明
├── 使用说明.md                # 本文件
├── shopee_results/            # 正式爬取结果目录
└── test_results/              # 测试结果目录

⚠️ 重要提示

当前API账号状态:

  • ✗ Shopee接口未开通(需要联系万邦API开通)
  • API Key: t8618339029
  • 每日限额: 50次
  • 到期时间: 2025-12-06

开通方式:

🚀 快速开始

1. 测试运行(推荐)

cd /home/tw/SearchEngine/data_crawling
python test_crawler.py

这会测试前5个查询词,确认脚本功能正常。

2. 正式运行

开通API权限后,运行完整爬取:

python shopee_crawler.py

这会爬取全部5024个查询词。

📊 脚本功能

主要特性

  • ✅ 自动读取查询词文件
  • ✅ 逐个请求API并保存JSON结果
  • ✅ 自动重试失败的请求(最多3次)
  • ✅ 控制请求频率(默认2秒间隔)
  • ✅ 保存爬取摘要和失败列表
  • ✅ 实时显示进度和统计信息

输出文件

每个查询词会生成一个JSON文件:

0001_Bohemian_Maxi_Dress_20231204_151203.json
0002_Vintage_Denim_Jacket_20231204_151206.json
...

摘要文件

summary.json 包含完整的爬取统计:

{
  "crawl_time": "2023-12-04T15:12:03",
  "total": 5024,
  "success": 5000,
  "fail": 24,
  "elapsed_seconds": 20480,
  "config": {
    "country": ".com.my",
    "page": 1,
    "delay": 2
  },
  "failed_queries": ["query1", "query2"]
}

⚙️ 配置修改

编辑 shopee_crawler.py 顶部的配置:

# 站点选择
COUNTRY = '.com.my'  # 可选: .vn, .co.th, .tw, .co.id, .sg

# 爬取页码
PAGE = 1  # 第几页

# 请求间隔(秒)
DELAY = 2  # 建议2-5秒

# 最大重试次数
MAX_RETRIES = 3

📈 预估时间和资源

时间预估

  • 单个查询: ~4秒(API请求2秒 + 延迟2秒)
  • 5024个查询: ~5.6小时

资源需求

  • 磁盘空间: ~2-3 GB(取决于每个查询返回的商品数量)
  • 内存: 最小256MB
  • 网络: 稳定的互联网连接
  • API配额: 至少5024次调用额度

📝 使用示例

场景1: 测试API是否可用

python test_crawler.py

查看 test_results/ 目录,检查JSON文件内容。

场景2: 爬取特定数量

修改 shopee_crawler.pymain() 函数:

# 只爬取前100个
queries = queries[:100]

场景3: 更换站点

修改脚本顶部:

COUNTRY = '.sg'  # 改为新加坡站

场景4: 中断后继续

  1. 查看已爬取的数量:ls shopee_results/*.json | wc -l
  2. 删除 queries.txt 中已完成的查询词
  3. 重新运行脚本

🔧 故障排除

问题1: API权限错误

✗ API错误: shopee无权访问,请开通接口

解决: 联系万邦API开通Shopee接口权限。

问题2: 网络超时

✗ 请求失败: Connection timeout

解决:

  • 检查网络连接
  • 增加超时时间(修改 timeout=30 参数)
  • 增加重试次数

问题3: API配额用完

✗ API错误: 超过每日限额

解决:

  • 等待第二天重置
  • 或升级API套餐

问题4: 文件保存错误

✗ 保存失败: Permission denied

解决:

  • 检查目录权限: chmod 755 shopee_results
  • 检查磁盘空间: df -h

📞 技术支持

API提供商

脚本相关

查看以下文件:

  • README.md - 详细文档
  • test_results/ - 测试结果示例
  • API文档: 万邦API_shopee.md

✨ 后续优化建议

  1. 断点续爬: 记录已完成的查询词,支持中断后继续
  2. 多线程: 使用多线程并发请求(注意API限流)
  3. 数据解析: 从JSON中提取关键字段,存入数据库
  4. 统计分析: 分析商品价格、销量分布等
  5. 定时任务: 使用crontab设置定期爬取

🎯 使用流程总结

# 步骤1: 开通API权限
# 联系万邦API开通Shopee接口

# 步骤2: 测试
cd /home/tw/SearchEngine/data_crawling
python test_crawler.py

# 步骤3: 检查测试结果
cat test_results/0001_Bohemian_Maxi_Dress.json

# 步骤4: 正式爬取
python shopee_crawler.py

# 步骤5: 查看结果
ls -lh shopee_results/
cat shopee_results/summary.json

创建时间: 2023-12-04
脚本版本: v1.0
Python版本: 3.6+