项目描述:
需要采集某公开网站列表页和详情页数据,包含标题、价格、时间、联系方式等字段,数据量约 X 万条,要求去重、增量更新并保存到数据库。
主要工作:
使用 Chrome DevTools 抓包定位数据接口,分析请求头、Cookie、token、sign 等参数。
针对网站 JS 混淆,扣出加密函数,使用 Node.js 补 window、navigator、document 等环境,Python 调用复现请求签名。
使用 requests + 多线程/Scrapy 采集,配合代理 IP、UA 池、限速重试,降低封禁率。
使用 pandas 做数据清洗,处理空值、重复值和格式统一。
使用 pymysql/SQLAlchemy 将数据写入 MySQL,设计唯一索引去重,采用 executemany 批量插入,通过 ON DUPLICATE KEY UPDATE 实现增量更新。
使用 Redis 做 URL 去重和断点续爬,crontab/Docker 定时运行。
项目结果:
日采集约 5 万条,入库成功率约 99%,支持按天增量更新,交付源码和部署说明。