如何以编程方式获取此页面?

时间:2010-08-09 20:10:16

标签: python html ajax webpage fetch

这是页面THE LINK TO LYRICS SITE

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

3 个答案:

答案 0 :(得分:4)

这是因为歌词是由Javascript加载的,当你试图刮擦页面时,'普通'方法不会执行Javascript。

不幸的是,似乎你运气不好,除非你设法执行源代码中找到的Javascript方法:

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

我很确定你无法做到,因为它可能只是为了防止......:)

答案 1 :(得分:1)

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

然而,你将无法做到这一点。如果您查看Javascript源代码,您会看到它只是向content.php发出了一个AJAX POST请求:

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

check,可能是哈希会话ID。毫无疑问,这会阻止人们正在做你正在做的事情。

答案 2 :(得分:0)

如果您使用的是Windows,则可以使用PAMIE来启动浏览器....