Skip to content

thearth/doubandown

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

/****************************************
*										*
*										*
*     豆瓣电台红心歌曲下载器 v0.1 :		*
*										*							
*										*							
****************************************/
notice:This file is encoded by utf-8 you may need to switch it to your current system encoding. eg: windows is GB2312 or GBK

说明:
本程序用来下载豆瓣电台里面加红心的歌曲。并非直接从豆瓣上下载,而是从豆瓣电台获取歌曲列表,然后从其他搜索引擎下载

NOTCIE:目前仅限在linux环境下工作,mac OS没有试过,谁可以试过了告诉我一下。我会尽快出windows版的

-----------------------------------------
获取方法

$ git clone git://github.com/thearth/doubandown

-----------------------------------------
使用方法

文件clone下来以后:
python main.py
或
chmod 755 main.py
后直接
./main.py

输入你在豆瓣的上的账户邮箱与密码
如果短时间重复登录次数过多,需要输入验证码,验证码就在当前目录下capthca.jpg文件
如果检测到本地歌曲列表已经存在,会询问是否重新从豆瓣上获取列表,输入y/n
输入歌曲想要下载的目录,默认为当前目录
所有下载的歌曲命名以豆瓣上的命名为准

------------------------------------------
0.1版本特性

1.对验证码良好支持
2.本地存储歌曲列表
3.多引擎搜索歌曲
4.模糊匹配歌名,专辑名和歌手名
5.多线程下载,每个下载任务默认是5个线程
6.多进程下载,同时有5首歌曲在下载
7.伪断点传送,如果前一次下载取消,会删除当前未完成下载的任务,下一次会默认放弃下载已经存在的歌曲
8.下载超时检测,如果下载超时,则放弃从当前源下载而转向其他源,共尝试三次
9.歌曲搜索引擎可扩展

------------------------------------------
程序说明

本程序由python写成
程序分三个部分,获取列表部分,搜索歌曲部分,下载部分
三个部分相对独立

	获取列表部分会将豆瓣电台上标为红心的歌曲抓下载,存放在songlist文件里面,每行一首歌曲,依次是:歌曲名,专辑和歌手,由Tab键分开。如果哪一项空缺,则由空格代替。

	搜索歌曲部的所有歌曲均读自songlist文件。分会为每一首歌建立一个进程,同时保持总进程数为5。搜索的歌曲来自两个外部的扩展库,现在支持的是sogou音乐和yahoo音乐。可以自定义新的搜索引擎然后添加进来。程序会对搜索到的歌曲名称,专辑,歌手进行模糊匹配,然后选择差异最小的连接进行下载。

	下载部分会分多线程下载

所有的数据采集均是通过网页爬虫的形式获取
用户可以修改songlist文件,甚至可以自己添加歌曲进去,然后搜索部分会一并下载的
各个部分的耦合度非常低,统一由main.py调用。
你可以自己把grab.py,getsong.py,Download.py分开调用
如果自己添加新的搜索引擎支持的话,自己编写新的函数,返回一个list,每个元素是一个二元组(distinction,link)。distinction是所获搜索到的条目与本地的个去信息差距值,由compare给出;link为相对应的下载地址
Download模块下载的线程数可以修改,不过好像对速度影响不大

-------------------------------------------
存在问题

下载过程中,法文字符无法用GBK编码,会直接抛出异常
获取页面内容时连接出问题也会抛出异常,未能捕获
用户Ctrl+C结束程序后,无法正常杀到所有子进程
因为歌曲是模糊匹配,并且豆瓣上歌曲的命名也并非完全标准,不排除下载歌曲并非想要的情况
成功下载歌曲的比例大约为:93%
正确下载歌曲的比例大约为:85%

如果你还发现其他什么问题,或者有什么好的建议与想法,欢迎与我联系

-------------------------------------------
与我联系:

我的E-mail地址:thearther@gmail.com

About

Download the red heart songs listed in douban.fm

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages