淘宝分布式数据采集系统
项目介绍:
本项目主要用于采集淘宝PC端及APP端搜索关键词获取各类排序商品列表及详细数据,是用于给另一个网站项目提供页面搜索功能的后台程序,类似于看店宝网站VIP会员的搜索功能。
技术选型:
1.考虑到后期可能存在的高并发情况,采用scrapy-redis分布式解决,Master端维护cookie池、IP池以及制作请求url添加到请求队列中,slave端负责爬取请求以及解析数据
2.由于需要提供搜索数据的接口,所以使用轻量级的Flask框架提供路由等功能
3.为了降低与网站项目的耦合度,使用前后端分离技术
职责描述:
1.负责项目需求分析,技术栈选取以及整体架构的搭建;
2.负责反爬措施应对策略的研究与实现,以及接口的编写
招聘类网站数据采集
项目介绍:
本项目主要用于采集招聘平台爬虫相关职位的数据,并使用Flask进行数据的分析与可视化。
遇到问题及解决方案:
1.爬取量较大,采用scrapy-Redis进行爬取,因为该框架实现URL和数据去重、持久化、分布式比较方便,构建RedisSpider分布式爬虫,爬取数据更快
2.使用 Selenium + Chrome模拟登陆获取 cookie信息,携带 cookie问网页内容,采用动态ip代理和随机User-Agent反反爬
3.数据保存在json字符串中,转化成 python字典,提取数据
4.保存数据到 MongoDB数据库和CSV本地文件
5.使用logging模块编写监控程序进行爬虫监控,并根据时间定向输出日志到本地log文件
职责描述:
1.负责分析采集任务的目标网页结构和一些反爬手段,参与方案设计;
2.负责完成数据的抓取、清洗;
3.针对爬取过程当中出现的一些反爬虫策略,想出对应的解决办法。
工商企业信息数据采集
项目介绍:
本项目合作方需要获取关于企业方面的信息,如公司名称,工商局相关信息等;
技术描述:
1.使用 Scrapy框架Crawlspider 类实现数据爬取
2.使用Crawipider类过滤所有的页面链接,找到需求网页
3.使用Xpath、正则进行页面分析并提取数据
4.添加请求头,绕过反爬措施
5.后期采用过redis分布式爬虫爬取数据,存取到MongoDB中