我正在尝试从网页解析一些 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();
}
}
问:如何获取生成的html?
2 直接转到链接时,网页未正确呈现: This direct link将呈现为一个空的“壳”。 前往this link并单击Vis utskriftsside(向左下方)将打开一个新的正确渲染的窗口。
问:这两个链接有什么区别?如何使用直接链接访问正确呈现的网页?
编辑
这是生成我要抓取的数字的 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]
最佳答案
您正在做的事情被称为“抓取”,动态页面经常会导致问题:
Scraping dynamically generated html inside Android app
Best web scraping Ruby on Rails library that handles dynamic HTML produced by javascript
没有简单的解决方案。
关于Java - 彩票统计解析器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12377316/