0

这是歌词网站的链接页面

如果我使用普通方法,我得到的只是“ http://lyriccsvip.com ”而不是歌词。

4

3 回答 3

4

这是因为歌词是由 Javascript 加载的,当您尝试抓取页面时,“正常”方法不会执行 Javascript。

不幸的是,除非您设法执行在源代码中找到的 Javascript 方法,否则您似乎不走运:

<body onload="javascript:getContent('aerosmith', 'crazy', '1281384888', '0475352e376cf1c3906afd8ec1b8ac70')"> 

我很确定您将无法做到这一点,因为它可能是为了防止这种情况而放在那里的.. :)

于 2010-08-09T20:16:33.103 回答
1

如果你真的想这样做,这可能的。您将需要控制诸如 Gecko 之类的东西(使用例如pywebkigtk)以在可以执行 JS 的完整浏览器中打开网页,然后在完成渲染后从中获取源代码。

但是,您将无法做到这一点。如果您查看 Javascript 源代码,您会发现它只是向以下位置发出 AJAX POST 请求content.php

var url = "content.php?artist=" + artist + "&title=" + title + "&time=" + time + "&check=" + check;

check可能是一个散列的会话 ID。这无疑是为了阻止人们做你正在做的事情。

于 2010-08-09T21:12:29.213 回答
0

如果你在 Windows 上,你可以使用PAMIE来驱动浏览器....

于 2010-08-10T01:56:56.873 回答