【发布时间】:2015-04-04 04:22:06
【问题描述】:
到目前为止,我一直在使用 JSOUP 来满足我的所有 html 网站需求。然而,我遇到了障碍。 Kickass 通过单击 javascript 链接 <a href="javascript:getFiles('52261EB9480EDFD83B5B85C8C4817D28F3AE0C95', 1);" class="showmore folded"> 获取每个 torrent 文件的完整列表。我已经将 javascript 函数追溯到使用的 *.js 文件,但我不确定如何模仿这种行为。理想情况下,我只想从主站点获取 javascript 链接,并像使用任何其他网站一样获取列表,尽管 JSOUP 的所有内容似乎都遵循 html 链接而不是 javascript 链接。
所以我尝试使用 HtmlUnit。我用 chrome 检查了网站: https://kickass.to/australian-aria-top-50-singles-13-10-2014-t9702189.html
并复制了 xpath 表达式。目前以下内容不起作用,虽然我想绕过必须将此库用于单个功能,但我无法让它正常工作。
我的测试代码:
java.util.logging.Logger.getLogger("com.gargoylesoftware").setLevel(java.util.logging.Level.OFF);
WebClient webClient = new WebClient(BrowserVersion.CHROME);
HtmlPage page = webClient.getPage("https://kickass.to/australian-aria-top-50-singles-13-10-2014-t9702189.html");
HtmlElement htmlElement = page.getFirstByXPath("//*[@id=\"ul_top\"]/tbody/tr[31]/td[2]/a");
System.out.println(htmlElement.toString());
htmlElement.click();
webClient.waitForBackgroundJavaScript(1000);
//get changes here
webClient.closeAllWindows();
【问题讨论】:
-
您是否尝试使用 jsoup 下载 torrent 文件?
-
实际使用内置库。纯粹用 JSOUP 和 htmlunit 检查种子信息。
-
是否为 htmlunit 启用了 javascript?我已经发布了一个替代解决方案。但是,这个问题可能会有所帮助 - stackoverflow.com/questions/10136873/…
标签: java javascript html jsoup