春节不同于别的节日,很多人初四/五要回老家拜年,村里难免网络信号不好,对喜欢刷抖音的小伙伴来说网络信号不好怎么办!幸运的是,我今天偶然发现了一个轮子。
amemv-crawler,你可以很容易地下载指定抖音用户/挑战/音乐的全部视频,保存的短视频到你的手机,并刷起来没有网络。
基本介绍
1)安装
一般来说,GitHub上的项目可以用“pip install”来安装,但遗憾的是amemv-
我没有成功用pip做履带轮,最后用git成功安装了:
$ git克隆https://github.com/loadchange/amemv-crawler。git $ CDamemv-crawler$ pip install-r requests . txt
amemv-
爬虫的运行依赖于python和节点环境,Python环境比其他人都好。至于node,可以从本网站的https://nodejs.org/en/download/下载对应版本的node.js,在windows环境下直接安装就可以自动配置,在linux环境下也可以自己尝试。
欢迎大家加入小编创建的Python行业交流群,有大牛答疑,有资源共享,有企业招人!是一个非常不错的交流基地!群号:683380553
2)使用
要使用amemv-crawler,下载Tik Tok视频,您需要提供目标网址,即您想要下载的用户/挑战/音乐的网址。下载视频有两种操作方法。
第一种方法
进入项目根目录,修改文件share-url.txt,将其内容替换为要下载的视频的目标url,然后在同一个目录下运行amemv-video-即可。
默认情况下,Ripper.py文件会在当前路径下的下载目录下生成一个与Tik Tok ID同名的文件夹,视频会放在这个文件夹下。需要下载时。
当目标网址较多时,这种下载方式更适合。
第二种方法
在命令行模式下输入项目的根目录,执行以下指令(URL1,URL2为目标URL,两者之间用逗号隔开),运行。
结果与第一种方法,相同,只是这种下载方式更适合目标网址数量相对较少的情况。
python amemv-video-ripper . py URL1,URL2
源代码解析
本项目的python代码全部集中于amemv-video-ripper.py一个文件中,总共近500行,下面我们一起来看看代码的大概结构。
p>1).首先看下主入口函数
在主函数中会对目标URL的提供情况进行甄别筛选,可以看到其中先后对命令行参数和share-
url.txt文件的内容进行了识别判断。对于不符合程序运行条件的会给出错误提示,对于符合条件的调用CrawlerScheduler(content),代码如下:
2).爬虫类
CrawlerScheduler是一个爬虫类,是抖音小视频爬取的主体部分。在类的初始化函数中,首先会对目标URL进行清洗,例如将我们输入的短地址转换为完整地址,以识别该URL指向的是用户、挑战还是音乐,然后会分类将URL存储到对应的列表中,随后启动工作任务。代码如下:
3).下载函数
下面三个函数都是CrawlerScheduler类中的函数,分别是用户、挑战和音乐视频的下载入口函数,其中根据不同的
页面类别分别设置了视频爬取策略,如果想对爬取方法进行深入研究可以从这里着手。
实战操练
介绍完项目的基本情况后我们就以下载指定用户的视频为例,看下amemv-
crawler的运行效果。我的抖音里关注过一个檀香末香的主题用户,这里面的视频风格清新典雅,非常适合舒缓心情。先在抖音里获取用户连接(http://v.douyin.com/FQArGf/),将连接发送到到电脑端。
在命令行模式下进入amemv-crawler的根目录,执行下面的指令开始短视频的下载。
python amemv-video-ripper.py URL1,URL2
可以看到,在download目录下会自动生成一个名为“58979677788”的目录,下载的小视频全在里面:
通过这种方式,可以很方便地将喜欢的主题视频存到手机里,过年回老家无聊的时候,即使没有网络信号也可以刷抖音了。
amemv-crawler这个项目不但好用,而且学习价值非常高。
里面除了用到urllib、requests等爬虫常用库外,还涉及摘要算法、编码转换、队列、线程、正则表达式等多
个知识点,是一个非常难得的学习素材。建议有兴趣的同学可以好好研究一下: