吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 13361|回复: 77
收起左侧

[原创工具] python版百度音乐下载软件和源码

  [复制链接]
zangdi 发表于 2017-12-17 14:17
自己在52破解论坛当了这么多次伸手党了,我也发出来我自己用python写的百度音乐下载软件,源代码也顺便发了出来,虽然说百度音乐歌曲不全,但是我感觉比我们这些不想下载某某音乐播放器来说,还是很好用的。
有些歌曲有问题,所以把源代码拿出来与大家共同讨论一下:keai

声明:这个软件完全是我自己编写出来的,完全不是抄袭别人的东西
下面附上运行截图:

QQ截图20171217135726.png
QQ截图20171217135738.png
源代码python版本用的是2.7


源代码下载:
baidu music源代码.rar (1.22 KB, 下载次数: 246)
软件下载:
链接: https://pan.baidu.com/s/1mi25iOC 密码: 7puy




免费评分

参与人数 19吾爱币 +24 热心值 +17 收起 理由
根本英俊 + 1 + 1 谢谢@Thanks!
yangzm + 1 谢谢 @Thanks!
Frank1052 + 1 + 1 热心回复!
woaibx25419 + 1 + 1 我很赞同!
amorous_pp + 1 + 1 学习下大佬写法
ligamd + 1 + 1 我很赞同!
lonznt + 1 + 1 谢谢~~~~~~~~~~~~~
coosu777 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
zgl1219 + 1 + 1 支持原创作品!!
Hmily + 6 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
alcueid + 1 + 1 热心回复!
weihe + 1 + 1 谢谢@Thanks!
cs001 + 2 + 1 谢谢,学习下源码写法。
笙若 + 1 + 1 谢谢@Thanks!
tdh0602 + 1 + 1 我很赞同!
zengzl + 1 我很赞同!
瓶子的小世界 + 1 + 1 谢谢@Thanks!
爱学习的小仙女 + 1 我很赞同!
goinfor2008 + 1 + 1 谢谢@Thanks!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

Quincy379 发表于 2017-12-18 15:09
python3的代码:
[Python] 纯文本查看 复制代码
# -*-coding:utf-8-*-
import re

import urllib
import requests


def downmp3(url1):
    try:
        print("正在解析网页,请稍后。\n")
        pre_html = requests.get(url1).content.decode('utf-8')
    except:
        print("请检查网络连接是否正确。\n")
    else:
        print("解析完成")
    key = re.findall(r'<div class="song-opera clearfix" data-songid=\'(.*?)\'>', pre_html, re.M | re.S)
    url = "http://tingapi.ting.baidu.com/v1/restserver/ting?method=baidu.ting.song.play&songid=" + key[0]
    html = requests.get(url).content.decode('utf-8')
    dowbload_url = re.findall(r'"show_link":"(.*?)","free"', html, re.M | re.S)
    mp3detail = re.findall(r'"lrclink":"(.*?)","', html, re.M | re.S)
    download = dowbload_url[0].replace('\\', '')
    lrc_temp = mp3detail[0].replace('\\', '')
    mp3 = urllib.request.urlopen(download)
    try:
        print("正在下载歌曲,请稍后...\n")
        output = open(key[0] + ".mp3", 'wb')
        output.write(mp3.read())
        output.close()
    except IOError:
        print("下载失败,请确认程序是否有写入权限!!!")
    else:
        print("下载歌曲成功")
    lrc = requests.get(lrc_temp).content.decode('utf-8')
    try:
        print("正在下载歌词,请稍后...\n")
        output = open(key[0] + ".lrc", 'w')
        output.write(lrc)
        output.close()
    except IOError:
        print("下载失败,请确认程序是否有写入权限!!!")
    else:
        print("下载歌词成功")


print("请输入歌名或歌手")
searchmp3 = input('')
searchmp3_respons = requests.get("http://music.baidu.com/search?key=" + searchmp3).content
print(searchmp3_respons.decode('utf-8'))
ff = open("temp.tmp", 'w')
ff.write(searchmp3_respons.decode('utf-8'))
ff.close()
ff = open("temp.tmp", 'r')
sstr = ff.read()
ff.close()
searchmp3_respons1 = searchmp3_respons
tag_songid = re.findall(r'data-songdata=\'{ "id": "(.*?)" }\'', sstr, re.M | re.S)
tag_div = re.findall(
    r'data-film.*?data-info=.*?\'>(.*?)</a>.*?<span class="singer".*?<span class="author_list".*?href=".*?">(.*?)</a>',
    sstr, re.M | re.S)
count = 1
for line in tag_div:
    a = re.sub('<em>', '', line[0])
    b = re.sub('</em>', '', a)
    e = re.sub('\t', '', b)
    f = re.sub('\n', '', e)
    i = re.sub(' ', '', f)
    c = re.sub('\t', '', line[1])
    d = re.sub('\n', '', c)
    g = re.sub('<em>', '', d)
    h = re.sub('</em>', '', g)
    j = re.sub(' ', '', h)
    try:
        print("[" + str(count) + "]\t\t" + i + "\t\t\t" + j)
    except:
        print("[" + str(count) + "]\t\t字体显示不出来,但是可以下载")
    count = count + 1
print("请输入要下载歌曲的序号或者输入all全部下载")
input = input('')
if input == 'all':
    for i in range(1, count):
        str = "http://music.baidu.com/song/" + tag_songid[i - 1]
        downmp3(str)
else:
    urldownload = "http://music.baidu.com/song/" + tag_songid[int(input) - 1]
    print(urldownload)
    downmp3(urldownload)
print("\n下载完成,请按任意键结束...")

免费评分

参与人数 3吾爱币 +3 热心值 +3 收起 理由
洛克公园 + 1 + 1 鼓励转贴优秀软件安全工具和文档!
1154h + 1 + 1 不错哦,也是高手一个啊
hollow + 1 + 1 谢谢@Thanks!

查看全部评分

biange 发表于 2017-12-17 14:24
A00 发表于 2017-12-17 14:43
zhujf 发表于 2017-12-17 14:49
楼主很牛,感谢分享!有源码也可以好好学习了
白衣黑帽 发表于 2017-12-17 15:15
有bug....
laozhangty 发表于 2017-12-17 15:27
支持原创!
麦秸 发表于 2017-12-17 15:55
派森好学吗?
瓶子的小世界 发表于 2017-12-17 15:58
赞一个!!!
aitenccv 发表于 2017-12-17 16:19
怎么不用python3?
 楼主| zangdi 发表于 2017-12-17 16:27

确实有bug,能修复还请修复
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-26 04:46

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表