如何从html页面中提取文本?

时间:2013-10-26 12:14:22

标签: android asp.net web-applications

如何从html页面中提取文本?例如,网页是我想要获取文本的链接http://www.atempodihockey.it/campionati/campionati-hil/serie-a1-2013-2014/calendario.html。我必须有球队的名字和比赛的重新出场

2 个答案:

答案 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中,您可以获得预期的文本

相关问题