20230304 -
(非专业人士,简单记录自己的需求和思考)
0. 引言
平时看到一些网站的照片什么的,有那种批量下载的需求,当然有些也是视频网站的图片介绍什么的,也即是说,我需要把这些网站的照片批量下载下来。
以前的时候,写过简单的爬虫,因为需求比较简单,都是直接写正则,然后硬匹,然后下载。也没有尝试使用过框架。
但是后来慢慢发现,其实我的工作是可以公式化的,比如最简单的方式,因为我所爬的内容都有一定的规律性,虽然不同网站的内容不同,但本质上落实到策略其实都相似。所以在想,是不是有一定的组织方式可以将代码结构组织起来,或者有现成的框架呢?!
因为不是专业的爬虫人员,所以平时也都是简单写写代码来满足自己的需求,一些大的框架虽然知道都没有使用过。
1. 需求
那么我的需求是什么?是不是已经有代码框架能够满足?我记得之前的时候看到过一个框架,好像大致是能够满足我的需求的,从本质上来说,我需要做的,就是把我所需要的网站的策略自己进行编写,那些下载什么的,其实都不需要我来进行具体写。
总结起来,我感觉这个框架应该支持的功能有这些:
1)有HTTP管理界面,具体管理的方案不用管,但是能够支持在线显示我的下载结果,支持多种形式的数据,图片,文字描述等
2)能够支持代码,这个需求感觉应该不是什么难事。。估计现在大量的爬虫都是代理执行的,毕竟你没有代理,估计也就被封了
3)Docker化,部署环境还是不要太费劲了,直接有docker版本是最好的,不然还得装环境
4)无痛编程,无论是多线程也好,还是异步执行也好,这些都能够支持,然后我只需要对我所针对的网站进行编程爬取的策略定义
5)python语言,现在已经只会python了,没办法
感觉我这些需求都是非常普遍的需求。。也不是什么奇葩的要求。估计应该已经有框架能够支持了。
后续的话,有时间的时候就自己找找框架试试。但还是要明确,自己只是有一些爬取数据的需求,并非要大面积的实现。(当然后续的时候说不定真的要弄成大面积的,那个时候再说吧)
2. 框架
很多文章都总结大量的爬虫框架,例如文章[1],但这篇文章太老了17年的,一些新的框架没有包含,例如Boris-code/feapder[2]。
(未完待续)
参考
[1]史上最全的网页爬虫技术框架合集
[2]feapder