终极吉他API和终极api的使用[关闭]

问题描述 投票:2回答:1

我在数学课程中有这个项目,我正在学习这个学期,我需要为它构建一个Web应用程序和一个DB设计。

第一步是收集大量与音乐相关或主题的记录(至少20k)。现在,我自己就是一名吉他手,所以我想用吉他标签和/或和弦做一些事情,并考虑使用https://www.ultimate-guitar.com/作为标签和和弦的来源。

不幸的是,https://www.ultimate-guitar.com/没有提供允许我轻松访问和检索大量标签的API。幸运的是,我找到了几个公共GitHub存储库,这似乎是我需要的,更是如此,其中一个是python,这是该项目的首选语言。

遗憾的是,我不熟悉使用外部API的方法,我发现自己无法使用前面提到的存储库。我不确定它们是不完整还是我根本不理解如何操作它们。我尝试使用我的PyCharm IDE克隆它们,但无法使用它们来获取选项卡。

为了避免自己从头开始写一些东西(这需要花费相当多的时间,坦白地说我没有),我有两个选择:

  1. 请求SO寻求帮助,找出如何使用这些API。
  2. 更改项目的主题。

因为它是一个组项目,我想避免第二个选项,所以这里是我在GitHub上找到的存储库:

  1. https://github.com/joncardasis/ultimate-api(Python)
  2. https://github.com/vincepii/uguitar-python(Python)
  3. https://github.com/masterT/ultimate-guitar-scraper(JavaScript)

我已经向第一个存储库的作者发送了一封电子邮件,因为它是三个中最有希望的,但由于时间限制,我同时发布了这个问题。

UPDATE

正如所建议的,我将说明我的问题,我如何使用ultimate-api编写一个访问选项卡的python客户端程序。

您的意见和指导表示赞赏。

python http github client-server
1个回答
2
投票

我要回答你问的具体问题:如何使用ultimate-api

首先确保您的机器上安装了python3virtualenv

$ 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的文档说你必须使用:

ultimate-guitar.com标签的完整(包括协议)网址。

/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个顶部标签的网址:

$ 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服务器一起使用。

© www.soinside.com 2019 - 2024. All rights reserved.