python的音乐函数库 python处理音乐

目前在python3下有哪些音乐处理库python3下音乐处理库:midi,pretty-midi,fluidsynth3,mingus等
还有第三方库:eyeD3,pydub,PyAudio,librosa等
如何用PYTHON代码写出音乐在python-midi库中,每个乐谱用Pattern对象表示 , 乐谱中的每个音轨(通常音乐都有很多轨道组成,每种乐器是一个轨道)用Track对象表示 。每个音符的开端用midi.NoteOnEvent表示,结束用midi.NoteOffEvent表示 , 可以在参数中定义每个字符的音长和音高
Python爬虫:想听榜单歌曲?只需要14行代码即可搞定虽然说XPath比正则表达式用起来方便python的音乐函数库 , 但是没有最方便,只有更方便 。python的音乐函数库我们的BeautifulSoup库就能做到更方便的爬取想要的东西 。
使用之前 , 还是老规矩,先安装BeautifulSoup库,指令如下:
其中文开发文档:
BeautifulSoup库是一个强大的Python语言的XML和HTML解析库 。它提供了一些简单的函数来处理导航、搜索、修改分析树等功能 。
BeautifulSoup库还能自动将输入的文档转换为Unicode编码,输出文档转换为UTF-8编码 。
所以 , 在使用BeautifulSoup库的过程中 , 不需要开发中考虑编码的问题,除非你解析的文档,本身就没有指定编码方式,这才需要开发中进行编码处理 。
下面,我们来详细介绍BeautifulSoup库的使用规则 。
下面,我们来详细介绍BeautifulSoup库的重点知识 。
首先,BeautifulSoup库中一个重要的概念就是选择解释器 。因为其底层依赖的全是这些解释器,我们有必要认识一下 。博主专门列出了一个表格:
从上面表格观察,我们一般爬虫使用lxml HTML解析器即可,不仅速度快,而且兼容性强大,只是需要安装C语言库这一个缺点(不能叫缺点,应该叫麻烦) 。
要使用BeautifulSoup库,需要和其他库一样进行导入,但你虽然安装的是beautifulsoup4,但导入的名称并不是beautifulsoup4 , 而是bs4 。用法如下:
运行之后,输出文本如下:
基础的用法很简单 , 这里不在赘述 。从现在开始,我们来详细学习BeautifulSoup库的所有重要知识点,第一个就是节点选择器 。
所谓节点选择器,就是直接通过节点的名称选择节点,然后再用string属性就可以得到节点内的文本,这种方式获取最快 。
比如,基础用法中,我们使用h1直接获取了h1节点 , 然后通过h1.string即可得到它的文本 。但这种用法有一个明显的缺点 , 就是层次复杂不适合 。
所以,我们在使用节点选择器之前 , 需要将文档缩小 。比如一个文档很多很大,但我们获取的内容只在id为blog的p中 , 那么我们先获取这个p,再在p内部使用节点选择器就非常合适了 。
HTML示例代码:
下面的一些示例,我们还是使用这个HTML代码进行节点选择器的讲解 。
这里,我们先来教会大家如何获取节点的名称属性以及内容,示例如下:
运行之后 , 效果如下:
一般来说一个节点的子节点有可能很多,通过上面的方式获取,只能得到第一个 。如果要获取一个标签的所有子节点,这里有2种方式 。先来看代码:
运行之后,效果如下:
如上面代码所示,我们有2种方式获取所有子节点 , 一种是通过contents属性,一种是通过children属性,2者遍历的结果都是一样的 。
既然能获取直接子节点,那么获取所有子孙节点也是肯定可以的 。BeautifulSoup库给我们提供了descendants属性获取子孙节点,示例如下:
运行之后,效果如下:
同样的 , 在实际的爬虫程序中,我们有时候也需要通过逆向查找父节点 , 或者查找兄弟节点 。

推荐阅读