• 编写一个爬虫类库——(一)想法


    有的时候,我会写一些爬虫程序来自动获取一些信息,之前一段时间用过Puppeteer来驱动Chrome获取信息,我之前也写过一系列文章来介绍它。Puppeteer是Google官方出品,本身质量非常好高,提供的功能也非常强大,本身也有一些.net的移植puppeteer-sharp。但Puppeteer本身并不是针对爬虫程序定制的,用起来存在如下不便之处:

    1. 提供的API过多,想找到需要的API比较费时间。
    2. 提供的API比较底层,要实现想要的功能往往需要多个接口组合
    3. 有的功能没有提供, 需要通过一些私有接口或改源码的方式来实现
    4. 日志,输入输出,任务调度,重试策略等都需要额外的库才能实现。

    加上我也不是经常有些蜘蛛程序的需求,只是偶尔心血来潮的时候写一下玩玩。导致每次使用都要在Puppeteer的API列表和我之前的博客文章中查一遍才能进行功能的开发。

    另外,具体开发蜘蛛程序的时候,针对站点的数据解析比较费时费力,需要提供一个方便强大的调试工具。

    基于以上原因,我变有了一个自己写一个依托于Chrome,专门针对蜘蛛程序的类库的想法,主要目标如下:

    1. 提供简单的库,每次使用的时候基本上能一目了然
    2. 提供常用的库,常见的功能拿来就能使用
    3. 提供日志,输入输出,任务调度等常见的功能库集成
    4. 提供直观好用的调试工具,方便蜘蛛程序的开发

    该工具我打算使用.net core来写,有宇宙第一IDE加持的话,开发和后期使用时非常简单的。我已经实现了一个小的原型了,虽然目前功能还不完善,但已经可以用来来实现一些简单的数据爬取的。

    由于最近的工作和家里的事情都比较多,后面的开发进度估计就要慢不少了,我后续也会写一些文章介绍开发过程中的心得的。

  • 相关阅读:
    21. Fluentd输出插件:rewrite_tag_filter用法详解
    19. Fluentd输入插件:in_http用法详解
    18. Fluentd输出插件:out_stdout用法详解
    17. Fluentd输出插件:out_copy用法详解
    15. Fluentd输入插件:in_tail用法详解
    14. Fluentd输出插件:out_forward用法详解
    13. Fluentd输出插件:in_forward用法详解
    16. 综合使用tail、forward、copy和stdout
    20. 使用Fluentd发送告警邮件
    使用Fluentd进行简单流处理
  • 原文地址:https://www.cnblogs.com/TianFang/p/11142993.html
Copyright © 2020-2023  润新知