Python 终极吉他API和终极API的使用
我在本学期学习的数据库课程中有一个项目,我需要构建一个web应用程序并为其设计一个数据库 第一步是收集大量与音乐相关或以音乐为主题的唱片(至少20k)。现在,我自己也是一名吉他手,所以我想用吉他标签和/或和弦做一些事情,并考虑将其用作标签和和弦的来源 不幸的是,它没有提供一个API,允许我轻松访问和检索大量选项卡。幸运的是,我找到了两个公共GitHub存储库,它们似乎正是我所需要的,更重要的是,其中一个是python,这是本项目的首选语言 遗憾的是,我并不精通使用外部API的方法,我发现自己无法使用上述存储库。我不确定它们是否不完整,或者我只是不知道如何操作它们。我尝试使用我的PyCharm IDE克隆它们,但无法使用它们获取标签 为了避免自己从头开始写东西(坦白说,这需要相当长的时间,我没有),我有两个选择:Python 终极吉他API和终极API的使用,python,http,github,client-server,Python,Http,Github,Client Server,我在本学期学习的数据库课程中有一个项目,我需要构建一个web应用程序并为其设计一个数据库 第一步是收集大量与音乐相关或以音乐为主题的唱片(至少20k)。现在,我自己也是一名吉他手,所以我想用吉他标签和/或和弦做一些事情,并考虑将其用作标签和和弦的来源 不幸的是,它没有提供一个API,允许我轻松访问和检索大量选项卡。幸运的是,我找到了两个公共GitHub存储库,它们似乎正是我所需要的,更重要的是,其中一个是python,这是本项目的首选语言 遗憾的是,我并不精通使用外部API的方法,我发现自己无法
非常感谢您的建议和指导。我将回答您提出的一个具体问题:如何使用
ultimate api
首先确保您的计算机上安装了python3
和virtualenv
:
$ type -a python3
$ type -a virtualenv
如果这些命令中的任何一个没有返回任何内容,则必须
首先安装给定的程序。现在转到克隆ultimate api
存储库的目录并运行:
$ virtualenv -p python3 venv
$ source venv/bin/activate
$ pip install -r requirements.txt
您不需要是root
用户就可以做到这一点
现在启动服务器:
$ python3 run.py
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
* Restarting with stat
* Debugger is active!
* Debugger PIN: 122-615-257
转到http://127.0.0.1:5000
在您最喜欢的web浏览器中,它应该
说hi
。现在,正如ultimate api
的文档所说,您必须
使用:
ultimate-guitar.com选项卡的完整(包括协议)url
使用/tab
方法
例如:
http://127.0.0.1:5000/tab?url=https://tabs.ultimate-com/tab/_chk_chk_chk/enhance_bass_934215
http://127.0.0.1:5000/tab?url=https://tabs.ultimate-guitar.com/tab/\u chk\u chk\u chk/me\u和giuliani\u down\u by\u the\u schoolyard\u a\u true\u story\u bass\u 512135
更新
例如,要获取100个顶级选项卡的URL:
$ wget -U firefox https://www.ultimate-guitar.com/top/tabs -O - 2>/dev/null | grep -F 'https://tabs.ultimate-guitar.com/tab/' | grep -E -o '<a href=.+"' | sed -E 's,^<a href=",,' | sed 's,"$,,'
$wget-U firefoxhttps://www.ultimate-guitar.com/top/tabs -O-2>/dev/null | grep-F'https://tabs.ultimate-guitar.com/tab/“| grep-E-o”我应该提到我在windows中工作,我需要能够从尚未编写的DB代码中自动完成这项工作,因此python脚本版本将非常好。换句话说,我希望能够在自己的代码中使用这个API。我已经相应地编辑了我的问题。是的,你应该提到这一点。你在说什么脚本?请参阅问题末尾的更新。你可以在你的计算机上运行ultimate api
服务器,但我不确定它是否能在Windows上运行ultimate api
server返回JSON格式的数据,因此您必须以某种方式将其转换为SQL。或者,您也可以查看ultimate api
code,修改将数据格式化为JSON的部分,使其与SQL一起工作。