有的时候,我会写一些爬虫程序来自动获取一些信息,之前一段时间用过Puppeteer来驱动Chrome获取信息,我之前也写过一系列文章来介绍它。Puppeteer是Google官方出品,本身质量非常好高,提供的功能也非常强大,本身也有一些.net的移植puppeteer-sharp。但Puppeteer本身并不是针对爬虫程序定制的,用起来存在如下不便之处:
-
提供的API过多,想找到需要的API比较费时间。
-
提供的API比较底层,要实现想要的功能往往需要多个接口组合
-
有的功能没有提供, 需要通过一些私有接口或改源码的方式来实现
-
日志,输入输出,任务调度,重试策略等都需要额外的库才能实现。
加上我也不是经常有些蜘蛛程序的需求,只是偶尔心血来潮的时候写一下玩玩。导致每次使用都要在Puppeteer的API列表和我之前的博客文章中查一遍才能进行功能的开发。
另外,具体开发蜘蛛程序的时候,针对站点的数据解析比较费时费力,需要提供一个方便强大的调试工具。
基于以上原因,我变有了一个自己写一个依托于Chrome,专门针对蜘蛛程序的类库的想法,主要目标如下:
-
提供简单的库,每次使用的时候基本上能一目了然
-
提供常用的库,常见的功能拿来就能使用
-
提供日志,输入输出,任务调度等常见的功能库集成
-
提供直观好用的调试工具,方便蜘蛛程序的开发
该工具我打算使用.net core来写,有宇宙第一IDE加持的话,开发和后期使用时非常简单的。我已经实现了一个小的原型了,虽然目前功能还不完善,但已经可以用来来实现一些简单的数据爬取的。
由于最近的工作和家里的事情都比较多,后面的开发进度估计就要慢不少了,我后续也会写一些文章介绍开发过程中的心得的。