最近一两年短视频业务风生水起,各个视频网站都有各自特色的短视频内容。如果有这样一个程序,可以把各大视频网站的热门用户最新发布的视频都下载下来,不仅方便自己观看,还可以将没有版权的视频发布在个人社交网站上,增加自己的人气,岂不美哉?

parker就是这样一个项目(项目地址:https://github.com/LiuRoy/parker),它采用celery框架定时爬取用户视频列表,将最新发布的视频通过you-get异步下载,可以很方便地实现分布式部署。因为各个网站的页面布局和接口更新比较频繁,为了保证程序的高可用,特意增加了Statsd监控,方便及时发现出错。

代码架构

目前parker中只实现了B站和秒拍的下载,从框架图可以看出,针对每一类网站,需要实现两个异步接口:从用户视频主页解析发布视频的播放地址、根据播放地址下载视频。因此增加网站类型,不需要修改原来的代码,只需要添加新的解析和下载接口即可。针对视频下载完成之后的后续操作,我还没有实现,大家可以根据自己的需求自由的去实现。

在运行的时候,celery会将配置好的优质用户列表定时发送到对应网站的解析接口异步执行,筛选出最新发布的视频播放地址,交给对应的下载接口异步下载,下载完成之后再异步调用后续操作。因此需要启动一个celery beat进程发送定时任务,以及若干celery异步任务去执行解析和下载操作,对于比较大的视频,下载会相当耗时,建议根据任务列表的多少合理分配异步任务的个数。

程序运行

经验证,此程序可以在ubuntu和mac下正常运行, 由于本地windows下的celery无法正常启动,所以没有在windows环境做过验证。

依赖库安装

python版本为3.5,进入项目目录后,执行:

1

pip install -r requirements.txt

创建数据库表

参数配置

config路径下的logging.yaml、params.yaml、sites.yaml分别对应日志配置、运行参数配置、热门用户配置。

日志配置

debug模式下日志会直接输出在标准输出流,release模式下会将日志内容输出到文件中,因此需要配置输出日志文件。

运行配置

mode debug调试模式,此模式下日志指向标准输出,并且没有监控数据;release模式下,日志输出到制定文件,并且有监控数据。

broker_url 对应于celery的BROKER_URL,可以配置为redis或者rabbitmq

mysql_url 数据库地址,需要提前建好两张表

download_path 视频下载路径

statsd_address 监控地址

video_number_per_page 每次从用户视频主页解析出多少条视频播放地址,因为大部分用户每次发布的视频个数很少,只需要设置成一个很小的值即可。在初次运行的时候,也不会下载大量久远的视频。

download_timeout 视频下载的超时时间

热门用户配置

parker会根据此配置生成一份celery beat scheduler列表。

name 规则是-,parker会根据此作为scheduler任务名称

url 用户的发布视频主页

task 对应的celery解析异步任务

minute 多少分钟检查一次用户视频列表

启动任务

进入项目目录,执行下面命令启动celery worker

1

celery -A spider worker

执行下面命令启动celery beat定时任务

1

celery -A spider beat

监控

python官网下载步骤视频-Python 实现视频下载相关推荐

  1. python官网网址是什么,python官方下载网址

    如何找到Python的官方网站? 百度搜索python,有官方标志的就是.如何找到Python的官方网站?可以阅读相关书籍,不过,这类型的问题更直接的是直接搜索. 中英文搜索都可以,百度搜索可以使用关 ...

  2. Python 官网宣布,正式发布 Python 3.8.0!

    来源:python.org 编辑:肖琴,转自:新智元 阅读文本大概需要 3.8 分钟. Python 官网静悄悄地发布了一则大消息:正式发布 Python 3.8.0!新版本较3.7版增加了一大波新功 ...

  3. python官网安装步骤-新手Windows下Python下载安装教程及配置注意事项

    新手如何下载安装Python以及配置环境变量呢?初学者选择Python2还是Python3呢?Windows下安装简单,初学者建议直接选择Python3- 首先分享Python下载方式 到Python ...

  4. 财码python官网_财码Python小实验之融资分析

    从本篇开始,财码小秘书将带小伙伴们进入投融资专题,今天的主题是融资分析小实验,欢迎大家来撩 . 01 融 资 概 述融资是指企业为满足生产经营资金的需要,向企业外部单位或个人以及从其企业内部筹措资金的 ...

  5. python官网打不开-python为什么打不开

    使用Pyhton自身提供的交互式解释器 交互式解释器会等待用户输入Python语句.输入Python语句并回车,解释器会执行语句并输出结果.交互式解释器是学习Python语言比 较好的工具,优点是输入 ...

  6. python官网安装步骤-Python解释器的安装步骤

    Python是一门强大的语言,目前已支持所有主流操作系统,在Linux,Unix,Mac系统上自带Python环境,在Windows10系统上需要安装一下,超简单 2. 下载完毕后打开进行安装,勾选( ...

  7. python官网 中文版 新闻-小伙Python爬虫并自制新闻网站,太好玩了

    作者:豆腐 来源:凹凸数据 大家好,我又来了,我是银牌厨师豆腐! 我们总是在爬啊爬,爬到了数据难道只是为了做一个词云吗? 当然不!这次我就利用flask为大家呈现一道小菜. Flask是python中 ...

  8. python官网 中文版 新闻-用python看新闻

    ▉一文带你入门爬虫--爬取百度风云榜实时新闻 当我在想,第一期推文出什么的时候,各种想法在我脑子里闪过,后来我发现很多微信群会有早报推送而且每当我用百度的时候右侧会有一个实时新闻热度的排行.于是这个爬 ...

  9. python官网怎么下载-python下载官网

    广告关闭 腾讯云双11爆品提前享,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高满返5000元! 1.下载pythonpython下载步骤:(1). 进入python下载官网:ht ...

  10. python官网下载安装教程-Python和Anoconda和Pycharm安装教程

    简介 Python是一种跨平台的计算机程序设计语言.是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越多被用于独立的.大型项目的开发. ...

最新文章

  1. kafka一键启动集群
  2. 嵌入式linux面试题解析(二)——C语言部分三
  3. 从前,小夕种了一棵树
  4. 超详细前端开发案例:品优购商场项目(二)
  5. 【python】sys.stdout输出不换行
  6. ubuntu18.04 出现 Command 'ifconfig' not found 问题的解决办法
  7. cmd控制远程电脑运行程序_电脑远程控制怎么,远程桌面开启教程
  8. VS2010中无法嵌入互操作类型“......”,请改用适用的接口的解决方法
  9. jq实现跟随鼠标点击移动的下划线效果
  10. Javascript六种数据类型及类型转换总结
  11. 计算机王码简历,王码五笔字型发明人王永民回首汉字输入这30年
  12. 计算机无法共享打印机共享的打印机驱动,打印机不能共享_打印机不能共享怎么办?-太平洋IT百科...
  13. Windows装机必备软件
  14. PLSQL官网下载地址
  15. 【大数据实战】招聘网站职位分析
  16. 【转载】为什么用交叉线而不是直通线连接相同的设备
  17. 计算机word窗口的组成,推计算机等级考试题库:一级MS Office第三章“Word窗口及其组成”(一)...
  18. 2018 ACM-ICPC, Syrian Collegiate Programming Contest I. Rise of the Robots 最小圆覆盖 模板
  19. cisco路由器启动过程
  20. 数据采集之全埋点数据采集分析方法的一些整理

热门文章

  1. [娱乐]一款浅陋的C++控制台贪吃蛇小游戏
  2. [Android] 按钮单击事件的五种写法
  3. Zxing二维码的集成使用
  4. 超大 Cookie 拒绝服务攻击
  5. 内存分配的几个函数的简单对比分析
  6. python中的in运算符
  7. flex布局的相关注意事项
  8. CF Gym102028G Shortest Paths on Random Forests
  9. vue设置ioc图标和title
  10. 软件常见故障的现象、故障排除的方法