我应该使用 URL 和扫描仪类进行网页抓取,并从网站上的 HTML 代码中仅挑选出过去 8 天内的能源消耗数量。所以我有一个 24x8 的数组来容纳所有数字。我使用 .findInLine 来识别小时 ex: 我在这里使用第一部分来标识第一个小时的数字 block 。
while (in.findInLine("00-01") == null) in.nextLine();
in.nextLine() // skip rest of the line containing "00-01"
<td>00-01</td>
<td align="right"> 11872</td>
<td align="right"> 12146</td>
<td align="right"> 12861</td>
<td align="right"> 12561</td>
<td align="right"> 13493</td>
<td align="right"> 13386</td>
<td align="right"> 12732</td>
<td align="right"> <b>12249</b></td>
我的问题是我不知道如何提取这些数字并将它们放入数组中,因为我有 24 个这样的部分。
最佳答案
给定输入,以下内容将提取每行的数字。
Pattern pattern = Pattern.compile("\\d+");
while (in.hasNext())
{
String str = in.nextLine();
Matcher m = pattern.matcher(str);
while (m.find())
{
//Change this to add to add to an array
System.out.println(m.group());
}
}
关于java - 在java中使用Scanner进行网页抓取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54822701/