2017-11-12 6 views
0

Vimeo pageのHTMLをJsoupで抽出して印刷しますが、の第2部分のみが取得されます。
私は既に.maxBodySize(0)を設定しようとしましたが、何も変わりません。これは私のコードです:JsoupはHTML文書の最初の部分を取得しません

import java.io.IOException; 
import org.jsoup.Jsoup; 
import org.jsoup.nodes.Document; 
import org.jsoup.nodes.Element; 
import org.jsoup.select.Elements; 

public class PrintVimeoHTML { 
    public static void main(String[] args) throws IOException { 
     Document doc = Jsoup.connect("https://vimeo.com/categories/food/cooking/videos") 
      .header("Accept-Encoding", "gzip, deflate") 
      .userAgent("Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36") 
      .maxBodySize(0) 
      .timeout(600000) 
      .get(); 
     System.out.println(doc); 
    } 
} 

this highlighted <script> tagから何が抽出されますか。
スクリプトより先に<div>を抽出するにはどうすればよいですか?

+0

js関連の可能性がありますので、jsサポート付きのヘッドレスブラウザを使用してください。 htmlunitが動作するかもしれません。 –

+0

@FredericKleinあなたはjsoupの代わりにhtmlunitを使うべきですか? – Yoghi

+0

試してみる価値あり。他の選択肢:セレン、ファントムズなど –

答えて

0

Jsoupの代わりにSeleniumを使用して解決しました。それはJavaScriptの問題でした:JsoupはJavaScriptを実行せず、コンテンツは実際にスクリプトによって読み込まれました。 セレンは、実際のブラウザをシミュレートするので、この目的には適しているため、HTML全体を生成できます。

関連する問題