最近,公司刚刚开启了网络爬虫项目,对于这一陌生领域,我是好奇又惶恐,为了记录爬虫项目开发过程中的点滴,特立此系列微薄。
项目已经开启2个月,经过2个月的摸爬滚打,初步总结出了爬虫所涉及的知识领域,
1、爬虫机制
我们项目大致把爬虫的整个过程做到模块化划分,采用的是开源的webmajic框架,先从负责爬取网页的downloader,到解析网页的processer,到持久化的pipeline
2、downloader
a:selenium自动化测试
b:http协议知识
c: URL 队列排序策略--》深度优先、广度优先
d:分布式队列如何实现和管理
e:反爬机制的破解
f:OCR图片识别,用来破解校验码
3、processer
a:xpath常用语法
b:Ansj语义解析工具的使用
c:Regular expression
5、pipeline
a:我们的pipeline调用DAL层,用到Mybatis的ORM框架
b:鉴于数据量巨大,我们采用shardbatis来做分表路由
6、大数据分析
a:舆情分析,情感分析
技能树献上
下一篇会开始讲解爬虫架构的设计。