1、根据需求分析所要爬取的数据,并分析目标网站的结构和反爬机制。
2、通过requests、scrapy、selenium、splash、xpath、css等技术编写爬虫进行数据抓取,app以Charles、mitmdump、Appium抓取。
3、对爬取到的数据进行清洗,分表存储,主要以MySQL、MongoDB数据库为主。
4、编写IP代理池,定时检测IP可用性,剔除低质量代理IP,IP以Redis存储。
5、监测爬虫的稳定性及数据的准确性,优化爬虫程序。
6、使用Django编写接口等。
爬取房地产交易中心新房数据:
项目描述:
项目用以爬取新房信息,数据量在400万左右,每天需要爬取4轮以上,以保证数据的实时性,总爬取量每天约2000万条。
1、采用页面渲染来抓取数据,目前使用scrapy-splash, 相对于selenium阻塞式速度更快。
2、组建splash负载均衡,减小单个splash服务的压力。
3、提取付费代理,搭建IP代理池,数据库使用redis有序集合,以分数来判断IP是否可用,默认分数为50,满分100,使用aiohttp异步请求库定时检测代理IP,IP可用分数加1,不可用分数减4。
4、所爬取的数据存储到mongodb数据库,并以阿里云DataWorks将每日更新的数据同步到MySql数据库。
除此之外还有微信公众号、新浪微博、平安车险、京东app等爬取经验。