如何从html页面中提取文本?例如,网页是我想要获取文本的链接http://www.atempodihockey.it/campionati/campionati-hil/serie-a1-2013-2014/calendario.html。我必须有球队的名字和比赛的重新出场
答案 0 :(得分:1)
我认为下面的代码可以帮助你
webView = (WebView) findViewById(R.id.webterms);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setPluginsEnabled(true);
webView.getSettings()
.setUserAgentString(
"Mozilla/5.0 (Linux; U; Android 2.0; en-us; Droid Build/ESD20) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17");
创建webview后加载您的网址或html页面
webView.addJavascriptInterface(new MyJavaScriptInterface(),"HTMLOUT");
webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return false;
}
@Override
public void onPageFinished(WebView view, String url1) {
if (pDialog.isShowing()) {
pDialog.dismiss();
}
webView.loadUrl("javascript:window.HTMLOUT.processHTML(document.documentElement.innerText);");
}
});
webView.loadUrl(url);
然后创建一个具有一个处理html的方法的类
class MyJavaScriptInterface {
public void processHTML(String html) {
if (null != html && html.trim().length() > 0) {
System.out.println("your Html ->" + html);
}
}
答案 1 :(得分:0)
为此,您可以使用HtmlAgilityPack
按照以下方式做到......
在项目中添加HtmlAgilityPack的引用。
using HtmlAgilityPack;
然后把网址放到整页
HtmlWeb webGet = new HtmlWeb();
HtmlDocument document = webGet.Load("http://www.atempodihockey.it/campionati/campionati-hil/serie-a1-2013-2014/calendario.html");
从'document'变量的html中,您可以获得预期的文本