【开源框架】从Google百度到微博,优酷腾讯到抖音,这些爬虫你用过了吗?
李建桂
软件工程专业-学生
王芃晔
毕业于北京理工大学
作者 | 李建桂/王芃晔(微信号clouds break)
编辑 | 言有三
今天给大家带来一篇关于数据爬虫使用的文章,该篇文章介绍的爬虫可以爬取Google、Bing、百度三大搜索引擎以及微博中的图片,也可爬取优酷、腾讯、抖音等各大视频网站的视频。
01
概述
该篇文章主要是搜集了爬图片爬视频的git项目,并给出详细的使用过程,省去了很多找爬虫工具的时间。这些工具亲测暂时有效,早用早好,免得失效。后面我们的git也会更新一些爬虫,欢迎大家关注。
02
图片爬虫
2.1 三大搜索引擎
https://github.com/sczhengyabin/Image-Downloader
可以按要求爬取百度、Bing、Google上的图片,并且提供了GUI方便操作,使用方法如下:
(1)根据该项目的readme配置适合自己电脑的环境就可以使用。使用方法是:python image_downloader_gui.py,会出现界面如下所示(该界面已在爬取状态):
(2)如上图所示,keywords中可以输入自己要爬的关键字,多关键字用逗号隔开,这种方式输入英文关键字和中文关键字对于Windows和Linux是没有区别的,都可以按正常流程爬取。还有一种方式输入关键字是Load File,这种方式是把关键字写到一个txt文件,关键字之间也需用逗号隔开,用load的方式输入,这时候要注意对于txt文件中有中文关键字时,Windows系统爬取会因为编码的原因导致报错,从而爬取失败。【注】:一般建议在关键字不超过100个时,直接把txt中关键字复制粘贴到keywords,以这种方式爬取,避免不必要的error(适用于Windows系统)
(3)下图爬取的关键字是cat,rose,爬取的引擎是Google,爬取的图片将在Output所示的路径下,可根据Max number/keywords设置想要爬去的图片数量,最大值可设为2000
(4)cat,rose的爬取结果如下图,会生成以关键字为名的文件夹,爬取的图片在相应关键字的文件夹下
(5) 可以以同样的方式在Bing和百度上爬取图片,比如还是爬取cat,rose。如果不改变保存路径(Output),爬取得到的图片会和在Google上爬取的图片在同一个文件夹下,下图是在Google和Bing上爬取的图片。
这个爬虫足够满足小型项目第一批数据集的积累,还有就是如果在一个引擎上重复爬取同一个关键字,并不会出现命名冲突,因为会被覆盖。
2.2 微博
https://github.com/yAnXImIN/weiboPicDownloader.git,可以爬取微博某用户的图片,使用方法如下:
(1)该爬虫是由java写的,具体使用见下图
(2)经过对我自己微博的爬取,发现对于已设为私密的图片是不能爬取的,公开的图片爬取是比较完整的,结果如下图
以下两个爬虫也是与图片视频相关的,我附上git地址,有需要的可以了解一下。
https://github.com/iawia002/Lulu.git
https://github.com/EvilCult/Video-Downloader.git
03
视频爬虫
3.1 annie
https://github.com/iawia002/annie.git
Annie是一款以go语言编码的视频下载工具,使用便捷并支持抖音、腾讯视频等多个网站视频和图像的下载,其支持站点如下图所示:
(1)根据readme中的安装说明安装好ffmpeg和annie,其中ffmpeg是用于融合分段下载的视频。
(2)图片下载:在终端运行以下命令,下载时会显示图片的信息和下载进度。图片下载不拘于之前展示的网站,但要提供图片详细的地址,精确到后缀名。
$ annie http://… (图片网址)
(3)视频下载:在终端运行以下命令,下载时同样会显示视频的信息和下载进度。对于存在多种清晰度的视频,可通过可选参数进行选择下载,默认下载当前网址的高清度视频,因此可先查看当前视频的信息,在通过可选参数进行有选择的下载。
$ annie [可选参数]http://… (视频网址)
[可选参数]主要有以下几个,可进行组合搭配使用:
-i 仅展示信息,不进行下载
-p 下载当前网址的整个播放列表
-f 读取视频信息中的地址(用于控制下载视频精度)
视频下载会下载到当前目录下,且仅支持开源视频的下载,对于部分vip视频或付费视频,annie会被禁止访问其下载地址(所以即使有了annie,也不要想着我以后可以不花钱看电影了)。最后展示一下视频下载结果:
3.2 抖音爬虫
https://github.com/loadchange/amemv-crawler.git
amemv-crawler是一个Python脚本,可以下载指定抖音用户的全部视频(含收藏),也可以下载指定主题(挑战)或音乐下的全部视频,运行环境为python3。使用方法如下:
(1)将项目下载到本地,目录如下图所示,修改其中的amemv-video-ripper.py,找到第131行的内置函数generateSignature,将所有调用该函数的语句注释后就可以使用。
(2)视频下载:在当前目录下执行命令。要同时下载多个抖音号的视频时,将网址以逗号隔开,download文件夹中会自动建立以抖音号为名的文件夹存储相应的抖音视频。
$ python amemv-video-ripper.py https://…
更多,欢迎到知乎专栏去投稿与交流,配套资料将放出在github,可扫描二维码进入。
打一个小广告,我的计算机视觉公开课《AI 图像识别项目从入门到上线》上线了,将讲述从零基础到完成一个实际的项目到微信小程序上线的整个流程,欢迎交流捧场。
如果想加入我们,后台留言吧
微信
Longlongtogo
公众号内容
1 图像基础|2 深度学习|3 行业信息
往期综述
1
2
【技术综述】如何Finetune一个小网络到移动端(时空性能分析篇)
3
往期开源框架
1
2
[caffe解读] caffe从数学公式到代码实现4-认识caffe自带的7大loss
3
往期学员分享
1
2
3