私はここで奇妙な問題を抱えています。しばらくの間、Jsoup 1.7.2を使用していましたが、問題はありませんでしたが、このウェブサイトwww.jornaldamarinha.ptからこのコードを使用して主要な見出しを取得しようとすると、今だけです。 :
// Connecting...
Document doc = Jsoup.connect("http://www.jornaldamarinha.pt")
.timeout(0)
.get();
// "*[class*=zincontent-wrap]" in "Jsoup idiom", means:
// Select all tags that contains classes with "zincontent-wrap" on its name.
Elements elems = doc.select("*[class*=zincontent-wrap]"); // Retrieves 0 results!
int t = elems.size();
Log.w("INFO", "Total Headlines: " + t);
// Loop trought all retrieved headlines:
for (Element e : elems) {
String headline = e.select("a").text().toString();
Log.w("HEADLINE", headline);
};
失敗しました!... 0 件の結果を取得します。(〜8を取得する必要があります)
この問題は、次の原因で発生する可能性があります。
- エイリアン... (アンドロイドに似ていますが、もっと醜い...)
- ウェブサイトのエンコーディング。(ポルトガル語の特殊文字を処理するために、着信 HTML を ISO-8859-15 でエンコードしようとしましたが、問題は残ります)
- 受信 HTML の形式が正しくありません。(セレクターは「Try jsoup online webpage」で正常に動作し、Jsoup は通常壊れた HTML を非常にうまく処理するため、これが問題であるとは思えません)
- クラス名にマイナス記号 ("-") を使用すると、Jsoup が台無しになります。(私には、問題の主な(または少なくとも1つの)原因のようです)
- 他の何か... (非常におそらく!)
しかし... http://try.jsoup.orgで URL をフェッチすると: http://www.jornaldamarinha.ptこの CSS クエリを使用して:
*[class*=zincontent-wrap]
すべてがうまく機能します。(最大 8 個の正しい結果をすべて取得します!)
SO ... 再開するには、コードを使用して、その Web ページが行うことを正確に実行するだけです。
これについての光や回避策について、事前に感謝します! :)