Web请在带有请求的Genius上刮取Youtube URL

时间:2017-09-19 04:18:10

标签: javascript jquery web-scraping

我正在使用cheerio的请求尝试获取genius.com上的歌曲链接。该网址应为YouTube链接。问题是,我根本无法得到' a'要返回其href属性的元素。这是我的代码(cheerio和请求在脚本中加载得更远)。

request('https://genius.com/Eminem-the-monster-lyrics' , function (error, response, body) {
    if (!error && response.statusCode == 200) {
        var $ = cheerio.load(body);
        var url = $('a' , 'div.song_media_controls-provider-icon').attr('href');

    }
    console.log(url);
});

This is a screenshot of the HTML that I'm scraping.

如果它是一个愚蠢的问题或一个愚蠢的帖子,我道歉。我还在学习所有这些。感谢任何人的帮助。

1 个答案:

答案 0 :(得分:0)

// jQuery cross domain ajax
$.get("https://genius.com/Eminem-the-monster-lyrics").done(function (data) {
    console.log(data);
});

// using XMLHttpRequest
var xhttp = new XMLHttpRequest();
  xhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
      document.getElementById("demo").innerHTML = this.responseText;
    }
};
xhttp.open("GET", "https://genius.com/Eminem-the-monster-lyrics", true);
xhttp.send();
<!DOCTYPE html>
<html lang="en">
	<head>
		<title>NK Chaudhary</title>
		<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
	</head>
	<body>
		<div id="demo"><a href="/">Add here genius.com</a></div>
		
	</body>
</html>