-
Notifications
You must be signed in to change notification settings - Fork 1
thearth/doubandown
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
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 0
No packages published