关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。
想改进这个问题?将问题更新为 on-topic对于堆栈溢出。
3年前关闭。
Improve this question
我有这个项目在我这个学期的数据库类(class)中,我需要构建一个 Web 应用程序并为它设计一个数据库。
第一步是收集大量与音乐相关或主题的唱片(至少 20k)。现在,我自己也是一名吉他手,所以我想用吉他谱和/或和弦做一些事情,并想到使用 https://www.ultimate-guitar.com/作为标签和和弦的来源。
不幸的是,https://www.ultimate-guitar.com/不提供允许我轻松访问和检索大量选项卡的 API。对我来说幸运的是,我找到了几个似乎是我需要的公共(public) GitHub 存储库,更重要的是,其中一个是 python,它是这个项目的首选语言。
可悲的是,我并不精通使用外部 API 的方式,而且我发现自己无法使用上述存储库。我不确定它们是否不完整,或者我只是不明白如何操作它们。我尝试使用我的 PyCharm IDE 克隆它们,但无法使用它们来获取选项卡。
为了避免自己从头开始写东西(坦率地说,这将花费大量时间,我没有),我有两个选择:
因为它是一个小组项目,我想避免使用第二种选择,所以这里是我在 GitHub 上找到的存储库:
我已经向第一个存储库的作者发送了一封电子邮件,因为它是三个存储库中最有前途的,但由于时间限制,我同时发布了这个问题。
更新
如建议的那样,我将具体说明我的问题,如何使用 Ultimate-api 编写访问选项卡的 python 客户端程序。
感谢您的建议和指导。
最佳答案
我将回答您提出的一个具体问题:如何使用 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
在您最喜欢的网络浏览器中,它应该说
hi
.现在作为 ultimate-api
的文档说你必须利用:
A full (including protocol) url for an ultimate-guitar.com tab.
与
/tab
方法。例子:
http://127.0.0.1:5000/tab?url=https://tabs.ultimate-guitar.com/tab/_chk_chk_chk/intensify_bass_934215
http://127.0.0.1:5000/tab?url=https://tabs.ultimate-guitar.com/tab/_chk_chk_chk/me_and_giuliani_down_by_the_schoolyard_a_true_story_bass_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,"$,,'
现在您可以将此 URL 与
ultimate-api
一起使用服务器。
关于python - 终极吉他API和终极API的使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47854436/