1
例でJsoupを学習しようとしています。非同期タスクでWebサイトのURLをロードしようとしています。しかし、完全なHTMLページの代わりに部分的にしかロードしていません。ヘッダー、フッターなどのコンポーネントをいくつか削除して、WebViewに表示させたいと思います。わからない欠落しているかもしれないもの:Jsoupが完全なHTMLページをロードしていない、部分的にしかロードしない
オプション1:
doc = Jsoup.connect("https://jsoup.org/discussion")
.header("Accept-Encoding", "gzip, deflate")
.userAgent("Mozilla/5.0 (Windows NT 6.1; WOW64; rv:23.0) Gecko/20100101 Firefox/23.0")
.maxBodySize(0)
.get();
オプション2:
doc = Jsoup.connect("https://jsoup.org/discussion").maxBodySize(0).timeout(50000).get();
class PageLoader extends AsyncTask<String, Void, Boolean> {
@Override
protected Boolean doInBackground(String... params) {
Document doc = null;
try {
doc = Jsoup.connect("https://jsoup.org/discussion").maxBodySize(0).timeout(50000).get();
Logging.InfoLog(doc.toString());
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPreExecute() {
super.onPreExecute();
}
@Override
protected void onPostExecute(Boolean aBoolean) {
super.onPostExecute(aBoolean);
}
}
お返事ありがとうございます@Andrei Volgin私はHtmlUnitツールでも確認します。私は動的で静的なWebページの一部を取得しようとしています。いつか私はヘッダー、フッターなどを削除したいと思います。私はAndroid WebViewの特定の部分のみにページを表示したいです(つまり、それは完全ではありません)。私はHtmlUnitによってそれを行うことができるはずです。他の良いツールや提案が本当に役立つでしょう。ありがとう –
@Abhrajyoti Kirtaniaバックグラウンドでwebviewを読み込み、サイトの読み込み(javascriptコンテンツを含む)が完了した後にjavascriptを呼び出してコンテンツを削除/変更し、webviewを表示します。私の経験では、HtmlUnitは遅く、しばしばスクリプトを処理することができません。コンテンツに応じて、jsoupとrhinoを組み合わせて使用することもできます。 –
@ F.Klein、完全なHTMLを読み込む方法が不思議ですが、私はJSoupで試してみましたが、主要な問題である完全なHTMLページを読み込んでいません。 HTMLページを読み込む最良の方法を教えてください。一度ロードが成功すると、JSoupを使ってページを解析して、あらゆる種類の修正やカスタマイズが可能になります。あなたは、WebView経由で生のHTMLデータを読み込んで、それをJSoup経由でDocumentに変換することを提案していますか?または他の考えてください? –