browserless + dremio 的数据爬虫方案
数据爬虫的玩法很多,框架也不少,对于实际开发我们会面临不少问题,比如存储,分析,数据使用,爬虫站点的分析处理,动态proxy 池
以下是一个简单的集成
参考架构
- 基于自定义爬虫开发的
自己开发爬虫任务,基于调度对于任务基于容器运行,对于部分web 数据的爬取处理可以使用browserless ,数据存储可以到db或者s3 中
对于之后的分析基于dbt 模型开发语义层服务,之后基于dremio 提供的标准api (sql,arrow flight ,odbc,rest) 提供数据服务
- 直接复用现有框架的
比如基于scrapy,是一个很不错而且功能比较完备的爬虫框架,之后的一些套路与上边的类似
说明
以上只是一些简单说明,使用好各种数据工具,以及框架可以快速解决我们不少问题,基于s3 存储数据的好处时候我们可以进行灵活的数据存储(按需,安全,快速),dremio 可以提供方便的数据查询以及加速分析能力,以上对于调度部分说明的比较少,实际可选的方案还是很多的,比如airflow(python 友好),其他调度工具(xxl-job) 也是可选的,对于实际大规模的我们可以利用k8s 容器调度能力,实现灵活的弹性处理
参考资料
https://docs.browserless.io/
https://docs.dremio.com/
https://scrapy.org/
https://docs.getdbt.com/reference/references-overview