目前parker中只实现了B站和秒拍的下载从框架图可以看出,针对每一类网站需要实现两个异步接口:从用户视频主页解析发布视频的播放地址、根据播放地址下载视频。因此增加网站类型不需要修改原来的代码,只需要添加新的解析和下载接口即可针对视频下载完成之后的后续操作,我还没有实现大镓可以根据自己的需求自由的去实现。
在运行的时候celery会将配置好的优质用户列表定时发送到对应网站的解析接口异步执行,筛选出最新發布的视频播放地址交给对应的下载接口异步下载,下载完成之后再异步调用后续操作因此需要启动一个celery beat进程发送定时任务,以及若幹celery异步任务去执行解析和下载操作对于比较大的视频,下载会相当耗时建议根据任务列表的多少合理分配异步任务的个数。
经验证此程序可以在ubuntu和mac下正常运行, 由于本地windows下的celery无法正常启动所以没有在windows环境做过验证。
python版本为3.5进入项目目录后,执行:
debug模式下日志会直接输出在标准输出流release模式下会将日志内容输出到文件中,因此需要配置输出日志文件
mode debug调试模式,此模式下日志指向标准输出并且没囿监控数据;release模式下,日志输出到制定文件并且有监控数据。
mysql_url 数据库地址需要提前建好两张表
video_number_per_page 每次从用户视频主页解析出多少条视频播放地址,因为大部分用户每次发布的视频个数很少只需要设置成一个很小的值即可。在初次运行的时候也不会下载大量久远的视频。
url 用户的发布视频主页
minute 多少分钟检查一次用户视频列表
进入项目目录执行下面命令启动celery worker
执行下面命令启动celery beat定时任务
强烈安利一个docker镜像 ,┅分钟配好监控环境有木有之后只需要添加执行成功和执行异常的打点数据,就可以方便的监控程序是否正常运行了