Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 终极吉他API和终极API的使用_Python_Http_Github_Client Server - Fatal编程技术网

Python 终极吉他API和终极API的使用

Python 终极吉他API和终极API的使用,python,http,github,client-server,Python,Http,Github,Client Server,我在本学期学习的数据库课程中有一个项目,我需要构建一个web应用程序并为其设计一个数据库 第一步是收集大量与音乐相关或以音乐为主题的唱片(至少20k)。现在,我自己也是一名吉他手,所以我想用吉他标签和/或和弦做一些事情,并考虑将其用作标签和和弦的来源 不幸的是,它没有提供一个API,允许我轻松访问和检索大量选项卡。幸运的是,我找到了两个公共GitHub存储库,它们似乎正是我所需要的,更重要的是,其中一个是python,这是本项目的首选语言 遗憾的是,我并不精通使用外部API的方法,我发现自己无法

我在本学期学习的数据库课程中有一个项目,我需要构建一个web应用程序并为其设计一个数据库

第一步是收集大量与音乐相关或以音乐为主题的唱片(至少20k)。现在,我自己也是一名吉他手,所以我想用吉他标签和/或和弦做一些事情,并考虑将其用作标签和和弦的来源

不幸的是,它没有提供一个API,允许我轻松访问和检索大量选项卡。幸运的是,我找到了两个公共GitHub存储库,它们似乎正是我所需要的,更重要的是,其中一个是python,这是本项目的首选语言

遗憾的是,我并不精通使用外部API的方法,我发现自己无法使用上述存储库。我不确定它们是否不完整,或者我只是不知道如何操作它们。我尝试使用我的PyCharm IDE克隆它们,但无法使用它们获取标签

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

  • 向SO寻求帮助,了解如何使用这些API
  • 改变我项目的主题
  • 由于这是一个组项目,我希望避免第二个选项,因此以下是我在GitHub上找到的存储库:

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

    更新

    如前所述,我将详细说明我的问题,如何使用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
    在您最喜欢的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一起工作。