0

Webページからいくつかのintを解析しようとしていますが、いくつかの問題が発生しました。

1Web ページはjavascriptを使用して生成されます。

このサンプルコード(CredzからOracle.comへ。StackOverflowではリンクできません)は、JavaScriptが実行される前にhtmlコードを出力します。

import java.net.*;
import java.io.*;

public class URLConnectionReader {
    public static void main(String[] args) throws Exception {
        URL oracle = new URL("http://www.oracle.com/");
        URLConnection yc = oracle.openConnection();
        BufferedReader in = new BufferedReader(new InputStreamReader(
                                    yc.getInputStream()));
        String inputLine;
        while ((inputLine = in.readLine()) != null) 
            System.out.println(inputLine);
        in.close();
    }
}

Q:生成されたhtmlを取得するにはどうすればよいですか?

2リンクに直接アクセスすると、Webページが正しくレンダリングされません。 この直接リンクは空の「シェル」としてレンダリングされます。このリンクに移動し、 Vis utskriftsside(左下)をクリックすると、正しくレンダリングされた新しいウィンドウが開きます。

Q: 2つのリンクの違いは何ですか?直接リンクを使用して正しくレンダリングされたWebページにアクセスするにはどうすればよいですか?

編集

これは、私がスクレイプしようとしている数値を生成するHTML/JavaScriptです。

 <div id="drawNumbers" class="drawn-numbers">
 <script type="text/javascript">
    var tableData ='';
    if (opener.draw_numbers) {
        for(var i = 0; i<opener.draw_numbers.length;i++){
            tableData += '<div class="number" style="left:'+(i*28+8)+'px;">';
            tableData += '<img width="23" height="23" alt="" src="/nt-keno/result/images/res_keno_tallramme_print.gif">';
            tableData += '</div>';
            tableData +=  '<div class="number" style="left:'+(i*28+9)+'px; top:9px; z-index: 30;">' +opener.draw_numbers[i]+ '</div>';
        }
    }
    document.writeln(tableData);
</script>
</div>

この配列をJavaにインポートできますか?

opener.draw_numbers[i]
4

2 に答える 2

1

あなたがしていることは「スクレイピング」と呼ばれ、動的ページがしばしば問題を引き起こします:

AJAXページをどのようにスクレイプしますか?

Androidアプリ内で動的に生成されたHTMLをスクレイピングする

javascriptによって生成されたダイナミックHTMLを処理するRubyonRailsライブラリをスクレイピングする最高のWeb

簡単な解決策はありません。

于 2012-09-11T20:24:04.917 に答える
0

このページには、次のものを含むフレームがあります。

https://www.norsk-tipping.no/nt-keno/result/keno_result_info.jsp?drawID=1771&bet=10&keno_level=10

データはjsonURLから取得されます。これは、firebugなどのツールで確認できます。

https://www.norsk-tipping.no/api-keno/getResultInfo.json

于 2012-09-11T22:04:05.003 に答える