如果我使用普通方法,我得到的只是“http://lyricsvip.com”,而不是歌词。
答案 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来启动浏览器....