【问题标题】:Scrape Genius LyricsScrape Genius 歌词
【发布时间】:2020-09-16 03:07:36
【问题描述】:

所以我必须为学校做一个项目,我需要创建一个使用 API 的简单网站。我想用天才的API来收集歌词,但因为版权问题你不能。我只能使用 API 来查找有关歌曲的某些信息,例如创作者、封面 {image} 的 url 或歌曲链接(天才)。因此,如果我想获取歌词,我需要抓取歌曲的链接。我在抓取时遇到了一些问题,因为它通常是用 node.js 完成的,我不能使用 node.js,因为它在项目中是不允许的。

有人知道如何抓取此链接以仅使用纯 javascript 查找歌词(我也可以使用 jQuery):https://genius.com/Lil-peep-white-tee-lyrics

我知道html页面包含一个标签,所有歌词都在这里。

例子:

<div class="lyrics">
   <p> This is the lyrics</p>
</div>

如果有人有想法,那将非常有帮助。谢谢

【问题讨论】:

标签: javascript genius-api


【解决方案1】:

您遇到的问题实际上是编程中相当普遍的问题。在开始实施之前很容易低估系统的复杂性,或者发现平台无法处理您需要的任务。在这些情况下,您需要能够做以下两件事之一:重新定义您正在构建的系统,或扩展您正在构建它的框架。

您说这是针对目标是使用 api 的学校作业。我的第一步是与您的讲师交谈,看看是否可以重新定义项目目标以仅包含通过 api 提供的信息。 如果需要获取歌词,下一个尝试应该是找到一个可以像这样提供它们的 api。 https://developer.musixmatch.com/plans.

抓取网页应该是最后的手段。

【讨论】:

    【解决方案2】:

    通过使用 jQuery 尝试学习如何通过标签、类或 id 选择特定的 html 部分。

    var myLyrics = $('.lyrics')​.find('div:first')​.find(​'p:first')​​​.html();
    alert(myLyrics);
    

    【讨论】:

    • 我知道如何使用 jQuery,但我的问题是我需要在其他页面 (www.genius.com) 上执行此操作,我如何在远程页面上使用 jQuery 选择器,是吗?需要下载页面然后在其中选择还是可以通过其他方式进行?
    • 是的。您必须加载要报废的网页的 html。
    • 谢谢伙计,但是如何简单地加载一个远程页面并在其上使用 jQuerry 选择器?
    • 在某些时候有点棘手。我可以推荐你forum.jquery.com/topic/parse-html-from-url-using-jquery。但它有一些复杂性。如果远程服务器不允许 CORS,则您无法从浏览器解析网页。你可以试试。
    猜你喜欢
    • 2014-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-14
    相关资源
    最近更新 更多