Java-彩票统计解析器

Java - Lottery statistic parser

本文关键字:统计 彩票 Java-      更新时间:2023-09-26

我试图从网页中解析一些int,但遇到了一些问题:

1该网页是使用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直接转到链接时,网页未正确渲染:此直接链接将呈现为一个空的"shell"。转到此链接并单击Vis-utskrivesside(向左下方)将打开一个新的正确渲染窗口。

Q:这两个链接之间的区别是什么?如何使用直接链接访问正确呈现的网页?

编辑

这是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]

您所做的被称为"抓取",动态页面经常会导致问题:

如何抓取AJAX页面?

在安卓应用中动态生成的html

最佳web抓取Ruby on Rails库,可处理javascript 生成的动态HTML

没有简单的解决方案。

页面有一个框架,其中包含:

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

数据来自一个json url。你可以用firebug这样的工具看到这一点:

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