基于webmagic爬虫框架的项目记录

1、为什么选定了webmagic?

webmagic的doc文档地址:http://webmagic.io/docs/zh/

刚开始做的时候采用的是 httpclient+htmlparser+dom4j,主要说下为什么使用了dom4j,现在的webmagic也是采用了dom4j,这里主要是需要解析一个网站,这个网站的地址比较特殊,翻页地址一次性存储到了js方法里,普通的html节点无法获取到,所以采用dom4j就是为了获取js里的地址内容。

1)        后来2.0版本直接换成了webmagic,这个比较好用,优点:

2)        内置的pipline接口,可以定制开发,我们的爬虫项目要求本地文件一份,数据库一份,定制日志输出,新闻图片的下载等;

3)        可以记录爬过的地址,方便去重;

4)        可以start和shutdown爬虫;

5)        线程池;

6)        还有好多慢慢体会吧。

顺便说下python的爬虫,当时在选用webmagic之前特地学的Python,怎么说呢,适合没啥基础的学,上手快。没有feel,其实。。。就是不保密,成果很容易被copy另一家GS。

2、实现的功能点

基本的爬虫功能:爬取页面特定节点,节点信息处理。

日志前端实时打印,目的就是可以看到爬取到哪了,还有就是页面下载到本地的进度也实时打印,日志打印到前端采用的websocket。

还有就是CRUD,例如:网站的xpath、url、备份到其他数据库的功能。

定时爬取等等。

3、难点(坑)

新闻类的么,网站页面还是比较好分析的,没那么多的接口需要对接分析。

日志前端打印的websocket,注意jdk版本,tomcat版本好像也没啥了。给个学习的连接:http://blog.csdn.net/neutrojan/article/details/46119645

报jsr 356调整版本。

 

注意xpath和正则吧,得学习下。地址:

http://www.w3school.com.cn/xpath/xpath_syntax.asp

 

还有log4j的日志,之前不怎么深入得研究过,再次被教育了。放个地址:

http://blog.csdn.net/huangxinyu_it/article/details/42239629

http://blog.csdn.net/u012422446/article/details/51199724

 

定时任务:http://blog.csdn.net/tsyj810883979/article/details/8481621

 

暂停线程池里的线程:研究一天半,没啥思路,各路网友提供下方向吧,在此跪谢。(ps:原来是想设计一个公共变量,每次启动新线程去判断。如果暂停就是变为false。但是...不知道咋弄啊,改源码?复写?)

posted @ 2017-04-21 14:53  泥猴桃\n  阅读(754)  评论(0编辑  收藏  举报