1

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

4

2 回答 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 回答