0

これが可能かどうかはわかりませんが..

このウェブページhttp://magicseaweed.com/Praia-da-Rocha-Surf-Report/127/のごく一部を自分のアプリに表示したいと思います 。

つまりこれ

img1 http://dl.dropbox.com/u/2253656/Screenshot%20at%202012-05-16%2022%3A38%3A07.png

またはhttp://www.infopraias.com/reportpraia.asp?ID=3の別の例

img2 http://dl.dropbox.com/u/2253656/teste2.jpg

私が必要としていたのは、アプリに表示する情報を取得することでした。通常、それはウェブページの一部であり、.

助けてくれてありがとう

4

2 に答える 2

1

まず、Android マーケットの利用規約では、Web サービス (「Web ページ」を含む) の不正使用が禁止されていることを知っておく必要があります。

これで、 jsoupを使用して Web ページからデータをスクレイピングできます。

JAR をプロジェクトにドロップし、「libs」というフォルダーを作成します。それを右クリックしてビルドパスに追加します。

次に、メインページの例であるこれを試してください。

Document doc = Jsoup.connect("http://en.wikipedia.org/").get();
Elements newsHeadlines = doc.select("#mp-itn b a");

(注:ウィキペディアをこすらないでください...彼らはすぐに禁止します)

データを取得するページの DOM を調べて、適切なセレクターを決定するだけです。そこに、CSS セレクターがあります。これを行う別の方法は、xpath を使用することです: https://norrisshelton.wordpress.com/2011/01/27/jsoup-java-html-parser/

于 2012-05-16T22:01:48.143 に答える
-1

私は同意します、あなたが属していない場所でスクラップに行かないでください.

別のオプションは、Javascript を使用して、DOM ツリーを介してページからデータを取得することです (チュートリアルはこちら)。

そのためには、javascript を有効にして Javascript WebChromeClient を追加する必要があります。

myWebView.getSettings().setJavaScriptEnabled(true);
// register class containing methods to be exposed to JavaScript
myWebView.setWebChromeClient(new MyWebChromeClient());

/**
 * Provides a hook for calling "alert" from javascript. Useful for
 * debugging your javascript.
 */
final class MyWebChromeClient extends WebChromeClient {
    @Override
    public boolean onJsAlert(WebView view, String url, String message, JsResult result)     {
        Log.d("DEBUG", message);
    }
}

次に、次のような方法で警告することにより、ページから削り取った値を警告できます。

myWebView.loadUrl("javascript:alert(document.getElementsByClassName('mainbody')[0].getElementsByTagName('b')[1].innerText);");
于 2012-05-16T22:12:32.213 に答える