网易云很多歌曲没有版权?抱歉,Python无视没有…
2019-03-13 23:35:47来源:博客园 阅读 ()
但是有些小伙伴运行程序的时候会报错,所以本文主要讲以下相关问题:
安装Selenium
安装PhantomJS
文件命名问题
某些歌曲无法在线播放
本例环境
Python3
Selenium+PhantomJS
安装Selenium
若使用命令pip install selenium 或者 conda install selenium默认会安装selenium最新的版本(目前我的版本是3.14.*)
如果你本身使用的python2使用默认安装是没有问题的
运行程序报错如下:
UserWarning: Selenium support for PhantomJS has been deprecated, please use headless versions of Chrome or Firefox instead warnings.warn('Selenium support for PhantomJS has been deprecated, please use headless '
报错原因是:
目前Selenium 已经弃用了 PhantomJS ,官方建议请使用火狐或者谷歌无界面浏览器
解决方法:
因为并不想改变代码,因此采用安装旧版本的Selenium
先卸载,再安装指定版本就ok了,这里使用2.48.0版本
pip install selenium==2.48.0
安装PhontomJS
下载地址http://phantomjs.org/download.html
选择相应的版本下载,解压缩到任何位置即可,但是需要将里面的文件夹bin添加至环境变量
例如我直接放在了D盘下,位置是D:\phantomjs-2.1.1-windows\bin
添加系统变量后,运行程序依然会提示需要添加至系统变量
保险起见,此时可以重启下电脑就ok啦
文件命名问题
本例中沿用爬取网易云音乐的歌单及歌曲的名称
但是在生成文件的时候会遇到特殊符号无法生成文件的情况
本例中对文件命名做了进一步优化考虑,即对于文件命名格式要求中不得出现的字符进行过滤,即以下字符:
\ / : * ? " < > |
这里有个坑,上面的9个特殊字符如果是在英文输入法下是不满足命名格式要求的,但是在中文输入法下是ok的,例如我生成的这个文件夹就是ok的
因此需要找到这些字符(在英文模式下输入)的Unicode编码
这里提供一个在线查询的工具https://unicode-table.com/cn/
在程序里将这些字符逐个筛除就好啦,这样的结果是保留了所有中文、数字、英文字母、以及其他语种和一些字符(这里我无法判断是否其他字符是合规的)
有些歌曲无法在线播放
因为版权或者其他原因,网易云上的一些歌曲变成了灰色,也就是无法在线播放,比如周董的很多歌曲
但是这些歌曲是有下载链接的,通过程序能够下载成***.mp3形式,但是只有68kb左右的大小并且无法打开正常播放,因此我们需要剔除掉这些无效的歌曲文件
本例中使用的判断界限是100kb,若是文件小于此值则删除
but
此方法也有极小概率的错杀,比如李荣浩的《贝贝》这首歌只有4s,整首歌曲64kb左右……
原文链接:https://www.cnblogs.com/qingdeng6359/p/10518742.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 把Python项目打包成exe文件 2019-08-13
- 那些搜过很多遍的python基础知识 2019-07-24
- 控制台输出带颜色的文字 2019-05-23
- 定义函数 2019-05-22
- python3爬虫-下载网易云音乐,评论 2019-04-28
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash