实时抓取网页数据是很好的一个想法,提供开源schedulersplash
优采云 发布时间: 2022-06-20 08:54实时抓取网页数据是很好的一个想法,提供开源schedulersplash
实时抓取网页数据是很好的一个想法,提供一个抓取网页的开源schedulersplash完全可以满足你的需求,像log4j一样可以满足你的要求,不过log4j需要配置一些属性,要修改一些代码,主要是编写的时候要注意一些用法,找工具自己可以解决部分问题。图片网站使用scheduler是可以避免下载,如果图片文件不大,完全可以自己解决,lz可以去看看,满足你的需求。
说到爬虫,我就从另一个角度回答这个问题。在我理解,能够爬取网站上的任何东西,肯定是为了做其他有价值的事情,不能单纯的为了爬取网站上的资源。使用scheduler实现爬虫,我举个例子。有些网站里面是有大量的js或html网页,这些网页是其他网站的主要库提供下载的,而你需要爬取这些网页,但是另外有一个没有被提供下载的网页,你需要将这个资源取到自己电脑上。
那么你还有两个选择,一个是在之前网站上下载,一个是在别的网站上下载,哪个容易?从统计角度来看,前者用js方式下载网页数量较多,也容易受到恶意源码的干扰。而后者js网页还是有效的数据来源,这样数据量是可以达到统计要求的。而你在别的网站上发起下载有两个缺点,一是会做spam,二是是用户上传文件不容易做好备份。
简单地说,你只能使用js方式下载网页,但是你要小心自己传的文件别搞spam了。那么针对这两个下载方式就有这个机会,使用scheduler就可以有效规避这两个问题。举个例子,有一些网站是提供图片下载的,那么你把这个网站的文件下载一下,然后把图片全存到自己电脑上就可以做一个爬虫了。当然你想加载别的网站的图片也可以。
另外,在真正的webserver上,scheduler还是可以用于做用户权限分配,这个功能以后肯定会用于更高的分发方式。这样把图片存在自己电脑里,通过scheduler分发就比较有意义。从效率上看,没必要存文件一直在我们这里,而这个功能可以放在某个类或者模块内,让使用者自己找要用哪个下载的路径下的包。
从扩展性来看,scheduler肯定会越来越多,使用scheduler下载其他资源的场景肯定会越来越多。简单的说,scheduler的特点就是网络分发时有很多优势,webserver都是没有scheduler的,他们都是代理逻辑的传输逻辑,只支持文件下载。一是数据都在自己电脑上,对客户端的反爬虫效果没那么好,二是scheduler代理分发效率高,拿到一个网页下载一个。