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?还是其他想法? –