如何使用webview从网页缩放和提取框?

时间:2012-06-16 04:00:53

标签: webview screen-scraping jsoup

我使用网页浏览命令来显示网页。我的问题是,“是否有一个命令实际上只采用一个声明大小的网页来缩放它并将屏幕锁定在它周围?”

基本上我正在尝试删除网页的服务器状态部分,并在点击时显示手机上的缩放部分。以下是我调用Google的网络视图文件,但将来会更改为rel网站。

如果可能,我想压缩此框以适应手机屏幕的大小,横向或其他方式。

编辑:我做了一些研究和阅读。我打算尝试使用Jsoup。不幸的是,在阅读了网页“抓取”的文档和示例后,我无法弄清楚如何将网页HTML加载为文档 - >目标代码的搜索文档 - >在布局上显示目标代码。

正如您所见,我开始尝试在webview中执行此操作,并且我将来可能会尝试通过webview进行布局。

任何有助于理解这一点的帮助都会受到赞赏!

编辑2:添加了一些更多的scrape代码,这似乎可以做我想要的但我不清楚如何引用HTML代码中的变量来显示。

以下是我正在使用的HTML,其次是我正在使用的代码:

<div class="page-header">
    <h2 class="header ">                Server Status
</h2>

            <div class="desc">
                This page lists all available Diablo III game and auction house servers, as well as the status of each – either available or undergoing maintenance.
            </div>

    <span class="clear"><!-- --></span>
        </div>



            <div class="server-status">
    <div class="db-directory">
        <div class="db-directory-inner">
                    <div class="column column-1">
                        <div class="box">
                            <h3 class="category">Americas</h3>
                                <div class="server-list">
    <div class="server">
        <div class="status-icon up" data-tooltip="Available">
        </div>
        <div class="server-name">
                Game Server
        </div>
    <span class="clear"><!-- --></span>
    </div>
                                </div>
                                    <h4 class="subcategory">Auction House</h4>
                                <div class="server-list">
    <div class="server">
        <div class="status-icon up" data-tooltip="Available">
        </div>
        <div class="server-name">
                Gold
        </div>
    <span class="clear"><!-- --></span>
    </div>
    <div class="server alt">
        <div class="status-icon up" data-tooltip="Available">
        </div>
        <div class="server-name">
                Hardcore
        </div>
    <span class="clear"><!-- --></span>
    </div>
    <div class="server">
        <div class="status-icon up" data-tooltip="Available">
        </div>
        <div class="server-name">
                USD
        </div>
    <span class="clear"><!-- --></span>
    </div>
    <div class="server alt">
        <div class="status-icon up" data-tooltip="Available">
        </div>
        <div class="server-name">
                AUD
        </div>
    <span class="clear"><!-- --></span>
    </div>
    <div class="server">
        <div class="status-icon up" data-tooltip="Available">
        </div>
        <div class="server-name">
                MXN
        </div>
    <span class="clear"><!-- --></span>
    </div>
    <div class="server alt">
        <div class="status-icon down" data-tooltip="Maintenance">
        </div>
        <div class="server-name">
                BRL
        </div>
    <span class="clear"><!-- --></span>
    </div>
    <div class="server">
        <div class="status-icon down" data-tooltip="Maintenance">
        </div>
        <div class="server-name">
                CLP
        </div>
    <span class="clear"><!-- --></span>
    </div>
    <div class="server alt">
        <div class="status-icon down" data-tooltip="Maintenance">
        </div>
        <div class="server-name">
                ARS
        </div>
    <span class="clear"><!-- --></span>
    </div>


    package d3.link;

import java.io.File;
import java.io.IOException;
import d3.link.R;
import android.app.Activity;
import android.os.Bundle;
import android.webkit.WebView;
import org.jsoup.Connection;
import org.jsoup.Connection.Response;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import android.widget.TextView;


public class ServerStatusActivity extends Activity 
{

    //WebView webView;
    public static void main(String[] args) throws Exception
    {
        String url = "http://us.battle.net/d3/en/status";
        Document doc = Jsoup.connect(url).get();

        String serverstatus = Document.select().text();
        System.out.println("Server Status: " + serverstatus);

        Elements answerers = Document.select();
            for (Element answerer : answerers) 
            {
                System.out.println("Answerer: " + answerer.text());
            }

    }

    public void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.ss);



        //webView = (WebView) findViewById(R.id.webView1);
        //webView.getSettings().setJavaScriptEnabled(true);
        //webView.getSettings().setSupportZoom(false);
        //webView.getSettings().setBuiltInZoomControls(false);
        //webView.getSettings().setLoadWithOverviewMode(true);
        //webView.getSettings().setUseWideViewPort(true);
        //webView.loadUrl("http://us.battle.net/d3/en/status");

    }


}

}

1 个答案:

答案 0 :(得分:0)

使用XPath选择服务器状态HTML(// div [@class =&#34; server-status&#34;]),然后只渲染此部分。