请问在这个代码上面如何添加取后面几页的功能...这个只能取第一页的...
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
public class Product {
public List<Map<String, String>> getProductInfo(String url)
throws IOException {
Document doc = Jsoup.connect(url).get();
Elements ele = doc.select("td[id]");
// System.out.println(ele.toString());
List<Map<String, String>> data = new ArrayList<Map<String, String>>();
for (int i = 1; i < 21; i++) {
// list添加数据
data.add(getFoodInfo(i, ele));
}
return data;
}
private Map<String, String> getFoodInfo(int k, Elements ele) {
Map<String, String> info = new HashMap<String, String>();
for (int i = 0; i < 4; i++) {
// map添加数据
int j = 0;
for (Element m : ele) {
String value = m.attr("id");
if (value.equals("ctl00_cphMainFrame_td" + k + "SecondType")) {
info.put("分类", m.text());
}
else if (value.equals("ctl00_cphMainFrame_td" + k + "TypeName")) {
info.put("名称", m.text());
}
else if (value.equals("ctl00_cphMainFrame_td" + k
+ "GoodsTypeName")) {
// System.out.println(m.text());
if (j == 0) {
info.put("品牌", m.text());
} else if (i == 01) {
info.put("单位", m.text());
}
j++;
}
if (value.equals("ctl00_cphMainFrame_td" + k + "AvevageValue")) {
info.put("平均价格", m.text());
}
}
}
return info;
}
}
测试内容
import java.io.IOException;
import java.util.List;
import java.util.Map;
public class Test {
public static void main(String[] args) throws IOException {
String url = "http://www.lnprice.gov.cn/wjjc/jgjc/ReportByDateOfPivot.aspx?PriceBureauMainType_Id=101&YM=201502&DP=28";
Product pro = new Product();
List<Map<String, String>> list = pro.getProductInfo(url);
for (int i = 0; i < list.size(); i++) {
Map<String, String> map = list.get(i);
System.out.println(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>");
System.out.println("<<< " + i);
System.out.println("分类: " + map.get("分类"));
System.out.println("名称: " + map.get("名称"));
System.out.println("品牌: " + map.get("品牌"));
System.out.println("单位: " + map.get("单位"));
System.out.println("平均价格: " + map.get("平均价格"));
System.out.println("************************************");
}
}
}