如何从html页面中提取文本?例如,网页是链接http://www.atempodihockey.it/campionati/campionati-hil/serie-a1-2013-2014/calendario.html来自我想获取文本。我必须有球队的名字和比赛的结果
问问题
745 次
2 回答
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 后,加载您的 url 或 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);
}
}
于 2013-10-26T13:20:00.917 回答
0
为此,您可以使用HtmlAgilityPack
做如下...
在您的项目中添加 HtmlAgilityPack 的引用。
using HtmlAgilityPack;
然后放上url来获取整页
HtmlWeb webGet = new HtmlWeb();
HtmlDocument document = webGet.Load("http://www.atempodihockey.it/campionati/campionati-hil/serie-a1-2013-2014/calendario.html");
从“文档”变量的 html 中,您可以获得预期的文本
于 2013-10-26T12:38:22.050 回答