Jsoup ライブラリは、指定された URL の完全な html を解析していません。url の元の html にはいくつかの区分がありません。
興味深いこと: http://facebook.com/search.php?init=s:email&q=somebody@gmail.com&type=users
Jsoup の公式サイト http://try.jsoup.org/ で上記の URL を指定すると、フェッチによって URL の正確な html が正しく表示されますが、jsoup ライブラリを使用するプログラムでは同じ結果が見つかりません。
ここに私のJavaコードがあります:
String url="http://facebook.com/search.php?init=s:email&q=somebody@gmail.com&type=users";
Document document = Jsoup.connect(url).userAgent("Mozilla/5.0 (Windows NT 6.2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.69 Safari/537.36").get();
String question =document.toString();
System.out.println(" whole content: "+question);
公式サイトで使用されている正しい userAgent を明確に述べましたが、その結果、元の html コードの 70% が表示されますが、途中で、目的のデータを含むいくつかの分割タグを見つけることができませんでした。
私は試してみました.....役に立たない...なぜドキュメントから欠落しているdivタグがほとんどないのですか。
URL を直接取得してブラウザに入力できます。Facebook にログインしている場合は、次のような応答が表示されます。「クエリの結果が見つかりません。スペルを確認するか、別の用語を試してください。」これは、jsoup が上記の URL の HTML を解析するときに探しているものです。
しかし、残念ながら、この部分が欠落しています。実際には、この応答は div id: "#pagelet_search_no_results" にあります。解析された html で、この ID を持つ div が見つかりませんでした。jsoup から利用できる多くのメソッドを試してみましたが、うまくいきませんでした。