1
我想學習Jsoup的例子,我想加載一個網站的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工具。我正在嘗試從動態,靜態網頁中獲取部分內容。有時候我想刪除頁眉,頁腳等。我想在僅顯示Android WebView頁面的特定部分(即並非完全如此)上顯示頁面。希望我能通過HtmlUnit做到。任何其他好的工具或建議都會非常有幫助。謝謝 –
@Abhrajyoti Kirtania在後臺加載webview,在網站完成加載(包括javascript內容)後刪除/更改內容,調用javascript,然後顯示webview。根據我的經驗,HtmlUnit很慢並且通常仍然無法處理腳本。根據內容有時你也可以使用jsoup和rhino的組合來獲得你想要的。 –
@ F.Klein,我想知道如何加載完整的HTML,我用JSoup嘗試過,但沒有加載完整的HTML頁面,這是主要問題。你能否建議什麼是加載HTML頁面的最佳方式。我希望一旦加載成功,JSoup就可以用來解析頁面,以便完全控制頁面以進行任何類型的修改和自定義。您是否建議通過WebView加載原始html數據,然後通過JSoup將其轉換爲Document?還是其他想法? –