簡體   English   中英

Jsoup:獲取HTML中未顯示的鏈接

[英]Jsoup: Getting a link that doesn't show in the HTML

我正在為自己開發一個小應用程序。 我正在嘗試從網站獲取鏈接列表。 該網站例如: http : //kinox.to/Stream/Prison_Break.html
如果您將鼠標懸停在中間的大窗口上,該窗口顯示kinox.to至best online,則它會在左下角顯示我想要的鏈接。 問題是,如果我查看html文件,則在任何地方都找不到鏈接。 我想它與使用JavaScript或Ajax的網站有一定關系。
是否可以通過JSoup以某種方式獲取鏈接,或者是否有其他Java庫可以幫助我?

我沒有仔細查看您嘗試加載的頁面,但是我認為這可能是問題所在:鏈接是通過JavaScript動態加載/生成的。 Jsoup無法運行JavaScript,因此您無法在html中找到鏈接。

兩種可能的解決方案:

1)使用諸如Selenium Webdriver之類的內容來訪問內容。 Java綁定允許遠程控制真正的瀏覽器,該瀏覽器在加載頁面和運行其中的所有腳本時都不會出現問題。 解決方案1易於編程,但是運行緩慢。 它可能取決於必須在計算機上安裝的外部瀏覽器程序。 如果您使用的是Java 8,則JavaFx webkit引擎是webdriver的替代方法。

2)分析網頁上的點擊量和JavaScript,並找出鏈接的來源。 這可能需要一些時間才能找到,但是一旦成功,您就可以使用Jsoup來獲取所需的所有數據。 此解決方案應比解決方案1運行得快得多。

一種解決方法,可能是最簡單的方法是使用Selenium:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM