由于兴趣,在网上收集一些爬虫学习视频。打算一边学习一遍写下学习笔记(Java爬虫系列),期间肯定有很多不足的问题,后续会陆陆续续更新更改。希望有兴趣的小伙伴们一起来学习。。。
爬虫项目的难点以及解决方案
难点:
- 网站采取反爬策略;
- 网站模板定期变动;
- 网站URL抓取失败;
- 网站频繁抓取IP被封;
解决方案
- 通过浏览器访问。
- 不同配置文件配置不同网站的规则;数据库存储不同网站的模板。
- HttpClient默认处理方式;storm实时解析失败日志,将失败URL重新加入抓取库,一般超过3次就放弃。
- 购买代理IP库,随机获取IP抓取数据;部署多个应用分别抓取,降低单节点频繁访问;设置每个页面抓取时间间隔,降低被封概率。
爬虫总体架构图:
网站爬虫系统
- 数据采集模块;
- 数据分析模块;
- 数据存储模块;
- 报表管理模块;
- 系统管理与监控模块
部署方案图: