Jsoup:获取HTML中未显示的链接

时间:2016-03-13 12:28:39

标签: java ajax jsoup

我正在为自己制作一个小应用程序。我想从一个网站获得一个链接列表。该网站例如:http://kinox.to/Stream/Prison_Break.html
如果你将鼠标悬停在kinox.to最佳在线中间的大窗口上,它会在左下方显示我想要的链接。问题是,如果我查看html文件,我无法在任何地方找到链接。我想它必须使用JavaScript或Ajax对网站做一些事情 有可能以某种方式使用JSoup获取链接,还是有任何其他可以帮助我的Java库?

2 个答案:

答案 0 :(得分:0)

我没有仔细查看您尝试加载的页面,但我认为问题可能是:链接是通过JavaScript动态加载/生成的。 Jsoup不运行JavaScript,因此您无法在html中找到该链接。

两种可能的解决方案:

1)使用selenium webdriver之类的东西来访问内容。 Java绑定允许远程控制真正的浏览器,该浏览器在加载页面和运行其中的所有脚本时应该没有问题。解决方案1编程简单,但运行缓慢。它可能取决于必须安装在计算机上的extern浏览器程序。 webdriver的替代方案是JavaFx webkit引擎,以防您使用java 8。

2)分析页面上的流量和JavaScript,找出链接的来源。这可能需要一些时间才能找到,但是当你成功时,你可以使用Jsoup来获取你需要的所有数据。该解决方案应该比解决方案1运行得快得多。

答案 1 :(得分:0)

一种解决方案,可能最简单的方法是使用Selenium:

WebDriver driver = new FirefoxDriver();
driver.get("http://kinox.to/Stream/Prison_Break.html");
String mylink = driver.findElement(By.cssSelector("#AjaxStream > a")).getText();