我在一個網頁URL中有多個div,我必須解析它們具有相同的類名但名稱,值和ID不同。例如
。如何從具有相同類的不同div中獲取數據並將其存儲在.csv文件中
<div class="form-group">
<input class="form-control is-datepick" name="fromDate" value="01/07/2017" type="text" id="popupDatepicker" placeholder="Date">
<input class="form-control is-datepick" name="toDate" value="26/09/2017" type="text" id="popupDatepicker2" placeholder="Date">
</div>
現在!我想在上面提供的日期之間獲取數據。爲此,我使用了jsoup庫。
doc = Jsoup.connect(tempUrl).timeout(10000).data("fromDate", "01/07/2017")
.data("toDate", dateFormat.format(date))
.data("type", "text")
.data("search", "search")
.timeout(100000).get();
我用getElementsByClass()來獲取數據。但不幸的是,它不工作。
File fold = new File("D:\\KSE\\TMP\\NCCPL-YEARLY.csv");
fold.delete();
File fnew = new File("D:\\KSE\\TMP\\NCCPL-YEARLY.csv");
for (Element table : doc.getElementsByClass("fromDate"))
{
for (Element trElement : table.getElementsByTag("tr")) {
trElement2 = trElement.getElementsByTag("tr");
tdElements = trElement.getElementsByTag("td");
FileWriter sb = new FileWriter(fnew, true);
//if (table.hasClass("marketData")) { //&&(tdElements.hasClass("tableHead")&&tdElements.hasClass("tableSubHead"))
for (Iterator<Element> it = tdElements.iterator(); it.hasNext();) {
if (it.hasNext()&& i>0) {
///sb.append(" | ");
sb.append(" \r\n ");
}
for (Iterator<Element> it2 = tdElements.iterator(); it.hasNext();) {
Element tdElement2 = it.next();
final String content = tdElement2.text().replace(",", "");
if (it2.hasNext()) {
sb.append(formatData(content));
sb.append(" | ");
}
}
System.out.println(sb.toString());
sb.flush();
sb.close();
i++;
}
System.out.println(sampleList.add(tdElements));
}
}
}
程序已成功編譯並且沒有錯誤。目前,我面臨兩個問題。
1)它沒有創建任何csv文件。
2)在創建文件之前,我對代碼做了一些更改,但沒有閱讀上面提到的日期。它檢索數據的默認日期是從Date = 27/09/2017 toDate = 27/09/2017。
任何人都可以告訴我我哪裏出錯了嗎?