python抖音github_利用python 下载抖音上流行音乐
这是效果图:
这也是效果图
然后,废话不多说直接上代码:
然后直接跑代码,抖音的所有音乐都到手
emmm~~~是按照抖音的分类建目录的,^^^
# -*- coding:utf-8 -*-
"""
@author: liuyw
"""
from contextlib import closing
import requests, json, time, re, os, sys, time
class douyin(object):
"""docstring for douyin"""
def __init__(self):
super(douyin, self).__init__()
self.headers = {
'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
'accept-encoding': 'gzip, deflate, br',
'accept-language': 'zh-CN,zh;q=0.9',
'cache-control': 'max-age=0',
'upgrade-insecure-requests': '1',
'user-agent': 'Mozilla/5.0 (Linux; U; Android 5.1.1; zh-cn; MI 4S Build/LMY47V) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/53.0.2785.146 Mobile Safari/537.36 XiaoMi/MiuiBrowser/9.1.3',
}
def get_music_urls(self,mc_id):
music_names = []
music_urls = []
user_url = 'https://api.amemv.com/aweme/v1/music/list/?iid=34451996099&device_id=52982221132&os_api=18&app_name=aweme&channel=App%20Store&idfa=00000000-0000-0000-0000-000000000000&device_platform=iphone&build_number=18504&vid=386F3505-7B99-444A-845A-E5EEA12C5936&openudid=e01e26ddeb822fd95f6599de43b7547cfe1a26ea&device_type=iPhone7,2&app_version=1.8.5&version_code=1.8.5&os_version=11.3&screen_width=750&aid=1128&ac=WIFI&cursor=0&mc_id='+str(mc_id)
req = requests.get(user_url, headers=self.headers)
html = json.loads(req.text)
for each in html['music_list']:
share_desc = each['title']
music_names.append(share_desc + '.mp3')
music_urls.append(each['play_url']['uri'])
return music_names, music_urls
def music_downloader(self, music_url,music_name):
"""
下载
"""
size = 0
with closing(requests.get(music_url, headers=self.headers, stream=True)) as response:
chunk_size = 1024
content_size = int(response.headers['content-length'])
if response.status_code == 200:
sys.stdout.write(' [文件大小]:%0.2f MB\n' % (content_size / chunk_size / 1024))
with open(music_name, "wb") as file:
for data in response.iter_content(chunk_size = chunk_size):
file.write(data)
size += len(data)
file.flush()
sys.stdout.write(' [下载进度]:%.2f%%' % float(size / content_size * 100) + '\r')
sys.stdout.flush()
def run(self):
"""
运行函数
Parameters:
None
Returns:
None
"""
mc_id=0
music_url_list='https://api.amemv.com/aweme/v1/music/collection/?iid=34451996099&device_id=52982221132&os_api=18&app_name=aweme&channel=App%20Store&idfa=00000000-0000-0000-0000-000000000000&device_platform=iphone&build_number=18504&vid=386F3505-7B99-444A-845A-E5EEA12C5936&openudid=e01e26ddeb822fd95f6599de43b7547cfe1a26ea&device_type=iPhone7,2&app_version=1.8.5&version_code=1.8.5&os_version=11.3&screen_width=750&aid=1128&ac=WIFI&mas=00dfe1ffff8907b970da90b3e7cf26a0ff84e922cf91ee92e768de&as=a12522c184a0fb66257265&ts=1528112644'
collection = requests.get(music_url_list, headers=self.headers)
js_collection=json.loads(collection.text)
for mc in js_collection['mc_list']:
mc_id=mc['id']
mc_name=mc['mc_name']
music_names, music_urls = self.get_music_urls(mc_id)
#print(mc_name)
if mc_name not in os.listdir('/Users/admin/Desktop/'):
os.mkdir(mc_name)
print('下载中:共有%d个作品!\n' % len(music_urls))
for num in range(len(music_urls)):
if '\\' in music_names[num]:
music_name = music_names[num].replace('\\', '')
elif '/' in music_names[num]:
music_name = music_names[num].replace('/', '')
else:
music_name = music_names[num]
if os.path.isfile(os.path.join(mc_name, music_name)):
print('%s 已存在' % mc_name)
else:
self.music_downloader(music_urls[num], os.path.join(mc_name, music_name))
print('\n')
print('下载完成!')
if __name__ == '__main__':
douyin = douyin()
douyin.run()
python抖音github_利用python 下载抖音上流行音乐相关推荐
- 用python做数据分析pdf_利用python进行数据分析pdf
利用python进行数据分析pdf微盘下载!<利用python进行数据分析>利用Python实现数据密集型应用由浅入深帮助读者解决数据分析问题~适合刚刚接触Python的分析人员以及刚刚接 ...
- Python之ffmpeg:利用python编程基于ffmpeg将m4a格式音频文件转为mp3格式文件
Python之ffmpeg:利用python编程基于ffmpeg将m4a格式音频文件转为mp3格式文件 目录 利用python编程基于ffmpeg将m4a格式音频文件转为mp3格式文件 1.先下载ff ...
- Python语言学习:利用python获取当前/上级/上上级目录路径(获取路径下的最后叶目录的文件名、合并两个不同路径下图片文件名等目录/路径案例、正确加载图片路径)之详细攻略
Python语言学习:利用python获取当前/上级/上上级目录路径(获取路径下的最后叶目录的文件名.合并两个不同路径下图片文件名等目录/路径案例.正确加载图片路径)之详细攻略 目录 利用python ...
- Python语言学习:利用python语言实现调用内部命令(python调用Shell脚本)—命令提示符cmd的几种方法
Python语言学习:利用python语言实现调用内部命令(python调用Shell脚本)-命令提示符cmd的几种方法 目录 利用python语言实现调用内部命令-命令提示符cmd的几种方法 T1. ...
- 牛逼的Python库MoviePy!利用Python自动剪辑tiktok视频!
最近看到一个Github项目,作者利用Python写了一个自动生成tiktok视频的脚本,受到热捧. 现在像抖音.tiktok上有很多流水线生产的视频,不少视频博主靠这个赚了很多,我觉得蛮有意思,这里 ...
- python 词云_利用Python生成词云
利用Python生成词云 一.第三方库的安装与介绍 1.1 Python第三方库jieba(中文分词) 1.介绍 "结巴"中文分词:做最好的 Python 中文分词组件. 2.特 ...
- python爬虫背景_利用Python代码实现一键抠背景功能
前言 又是一个逛csdn发现的一个有趣的小项目,可以一键抠背景,需要用到removebg模块及其API,API可从其官网免费获取,网址如下https://www.remove.bg/zh ps:加上/ ...
- python 播放视频 ftp_利用Python快速搭建HTTPFTP服务器
用 Python 快速实现 FTP 服务器 有时当你想快速搭建一个 FTP 服务器来临时实现文件上传下载时,这是特别有用的.我们这里利用 Python 的Pyftpdlib 模块可以快速的实现一个 F ...
- python epub.js_如何利用Python打包HTML页面为epub?
最近沉迷于将各种博客和官方文档html转化成pdf,结果用手机看还是不太方便,所以想到将html转化成epub格式的电子书,要用os,re,requests,lxm,zipfile,五个库,在这里分享 ...
最新文章
- 记录一下g++的编译选项
- VScode配置CMAKE文件
- 01 小程序开发入门
- LaTex中的documentclass{type}应该填什么
- 从16.6%到74.2%,谷歌新模型刷新ImageNet纪录,第一作者是上海交大毕业生谢其哲...
- 最长公共子序列的C++实现---附二维指针的使用方法
- React 中 $$typeof 的作用
- js中String的常用扩展
- python报错ordinal not in range(128)
- Leetcode每日一题:57.insert-interval(插入区间)
- 全国计算机二级基础知识ppt,有关全国计算机二级基础知识.ppt
- 电源管理与驱动设计笔记
- 在eclipse如何删除无效的maven build
- 《迎向开阔的人生》——刘墉
- 指针式仪表自动识别和读数
- 设计模式Java语言实现之策略模式
- WKWebView白屏问题
- 美国大学计算机科学gpa,美国大学MS硕士平均GPA是多少分?
- 小学计算机神奇的因特网教案,小学信息技术第三册全册教案(第一单元 神奇的动画城)...
- win11桌面改成win10桌面的设置方法
热门文章
- 软件安全理论测试部分
- PERT网络分析法(计划评估和审查技术,Program Evaluation and Review Technique)
- ​AGV机器人:基于视觉避障的理论基础
- 台式计算机兼容性在那查找,电脑兼容性在哪里调整
- 张家港python培训_张的英文_张翻译_张英语怎么说_海词词典
- 2023年租房投影仪推荐,出租屋投影仪值得买吗?又该怎么选择?
- 计算机科学与交通方向,智能交通系统就业方向
- JavaScript高级程序设计第四版学习--第二十四章
- addr2line快速定位进程异常位置
- 【玩转python】python实现不同温度之间的互相转换(附源码)