python 背景音乐程序代码_python 喜马拉雅 音乐下载 演示代码
1、主程序文件import os
import json
import requests
from contextlib import closing
from progressbar import ProgressBar
from down_line import ProgressBar
# start_url = 'https://www.ximalaya.com/revision/play/album?albumId=' \
# '3595841&pageNum={}&sort=-1&pageSize=30'
# 3595841 分类ID
# pageNum={} 分页码
# 运行主目录程序
def xi_ma():
# 找URL
start_url = 'https://www.ximalaya.com/revision/play/album?albumId=' \
'9723091&pageNum={}&sort=-1&pageSize=30'
# 解析url 得到的网页
# 增加header头 简单的反扒技术
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 '
'(KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36'
}
for i in range(2):
url = start_url.format(i + 1) # 翻页效果相当于提交分页,也就是下一页
print(url)
# 提交网址
r = requests.get(url, headers=headers)
# 获取数据
ret = r.content.decode('utf-8')
# 转换JSON格式
result = json.loads(ret)
# 遍历测试结果
for i in result['data']['tracksAudioPlay']:
# print(i['trackName'], '' + i['src'])
src = i['src']
name = i['trackName']
# 保存数据
# with open('./img/{}.m4a' .format(name), 'ab') as f:
# f.write(music.content)
with closing(requests.get(src, headers=headers, stream=True)) as response:
chunk_size = 1024
content_size = int(response.headers['content-length'])
progress = ProgressBar(name, total=content_size, unit='KB', chunk_size=chunk_size,
run_status='正在下载', fin_status='下载完毕')
if not os.path.exists('img'):
os.mkdir('img')
with open('./img/{}.m4a' .format(name), 'ab') as file:
for data in response.iter_content(chunk_size=chunk_size):
file.write(data)
progress.refresh(count=len(data))
if __name__ == '__main__':
xi_ma()
2.down_lin source 源代码 下载进度条
1 class ProgressBar(object):
2
3 def __init__(self, title,
4 count=0.0,
5 run_status=None,
6 fin_status=None,
7 total=100.0,
8 unit='', sep='/',
9 chunk_size=1.0):
10 super(ProgressBar, self).__init__()
11 self.info = "【%s】%s %.2f %s %s %.2f %s"
12 self.title = title
13 self.total = total
14 self.count = count
15 self.chunk_size = chunk_size
16 self.status = run_status or ""
17 self.fin_status = fin_status or "" * len(self.status)
18 self.unit = unit
19 self.seq = sep
20
21 def __get_info(self):
22 # 【名称】状态 进度 单位 分割线 总数 单位
23 _info = self.info % (self.title, self.status,
24 self.count/self.chunk_size, self.unit, self.seq, self.total/self.chunk_size, self.unit)
25 return _info
26
27 def refresh(self, count=1, status=None):
28 self.count += count
29 # if status is not None:
30 self.status = status or self.status
31 end_str = "\r"
32 if self.count >= self.total:
33 end_str = '\n'
34 self.status = status or self.fin_status
35 print(self.__get_info(), end=end_str)
36
python 背景音乐程序代码_python 喜马拉雅 音乐下载 演示代码相关推荐
- python 喜马拉雅 音乐下载 演示代码
python 喜马拉雅 音乐下载 演示代码 1.主程序文件 import os import jsonimport requests from contextlib import closing fr ...
- python音乐下载_python 音乐下载演示源代码
import requests import re api = 'http://music.taihe.com/search?' header = { 'User-Agent': 'Mozilla/5 ...
- python 音乐下载演示源代码
python 音乐下载演示源代码 import requests import reapi = 'http://music.taihe.com/search?' header = {'User-Age ...
- python 背景音乐程序代码_python中加背景音乐如何操作
在python中加背景音乐的方法: 1.导入pygame资源包: 2.修改音乐的file路径: 3.使用init()方法进行初始化: 4.使用load()方法添加音乐文件: 5.使用play()方法播 ...
- python爬虫爬取网易云音乐下载_Python爬虫实践-网易云音乐!没有版权又如何!照样爬取!...
1.前言 最近,网易的音乐很多听不到了,刚好也看到很多教程,跟进学习了一下,也集大全了吧,本来想优化一下的,但是发现问题还是有点复杂,最后另辟捷径,提供了简单的方法啊! 本文主要参考 python编写 ...
- python音乐下载器安装_python实现音乐下载器
本文实例为大家分享了python音乐下载器的具体代码,供大家参考,具体内容如下 import requests import urllib import json from tkinter impor ...
- python游戏程序编码_python实现的生成随机迷宫算法核心代码分享(含游戏完整代码)...
最近研究了下迷宫的生成算法,然后做了个简单的在线迷宫游戏.游戏地址和对应的开源项目地址可以通过上面的链接找到.开源项目中没有包含服务端的代码,因为服务端的代码实在太简单了.下面将简单的介绍下随机迷宫的 ...
- Python:用tkinter制做一个音乐下载小软件
人生苦短,我用Python 平常我们下载的歌曲,都是各种妖魔鬼怪的格式横行,想下载下来用一下都不行,还只能在它的播放器内听,这谁受得了~ 学Python是用来干嘛的? 当然是解决问题咯~ 于是我直接写 ...
- 创建音乐下载器-代码实现
VIP音乐下载,播放 在我们听歌的时候,总是被各种会员的限制,导致无法听到完整的音乐.当然有的人单单喜欢通过软件去听歌,这里面有很多优质评论可以看.但是当我们想下载一首歌的时候,不是会员就没有办法实现 ...
最新文章
- 让ie8、ie9支持媒体查询
- Java联网技术之一HTTP
- ad中电容用什么封装_用什么来降低噪声?只要几个电容器就可以,简单有效!...
- 大数据学习(09)--Hadoop2.0介绍
- 离群点检测方法_干货 :时间序列异常检测
- 1-5:学习shell之命令的使用
- 使用 Xshell 连接矩池云 GPU服务器
- 作为多年 PHP 的开发者,在使用了 Go 语言之后......
- 【深度学习】基于卷积神经网络(tensorflow)的人脸识别项目(四)
- 北塔曾经很张狂 如今沉默为哪桩
- openlayers3 ol3热力图 json
- 计算机组成与系统结构期末复习 第二章 2.2
- 【线性代数】矩阵的初等变换与线性方程组
- 【kimol君的无聊小发明】—用python写论文下载器
- 【转】C 语言吧 · 问题资料大全【转】
- python绘制动态心电图_东软医院收费端使用手册.doc
- oled屏幕和amoled有什么区别,哪个好?
- 关于WPF(二)XAML
- 虾皮店铺有哪些涨粉方法?知虾数据教你八招快速涨粉技巧
- linux中的21是什么
热门文章
- 勤哲EXCEL服务器财务进销存系统
- 用AI「复活」逝者:「深度怀旧」项目火遍推特,我们也用民国老照片试了下 #蚂蚁呀嘿
- 中国都市女性抗衰洞察:Z世代抗衰意识普遍觉醒,“纹”题成抗衰重点
- 微信小程序项目源码springboot在线考试系统小程序+后台管理系统|前后分离VUE.js
- SQL解决Error converting data type nvarchar to numeric.
- 2022年京东双11和天猫双11预售时间介绍
- 线性回归和卡方分布与方差分析
- CMU-MOSEI数据集解读
- 2019复旦大学计算机分数线,复旦大学2019年各省各批次录取分数线和招生专业
- LANDESK操作系统部署时,怎么默认恢复到客户端C盘配置