昨天接到一个任务需要爬取一个网页的table数据,因为第一次接触有些打怵。查找资料寻找解决的方法。
查到不少资料都在用jsoup .
需要下载jsoup-1.8.1.jar 包
jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。
网页获取和解析速度飞快,推荐使用。
主要功能如下:
- 从一个URL,文件或字符串中解析HTML;
- 使用DOM或CSS选择器来查找、取出数据;
- 可操作HTML元素、属性、文本;
public static String run() {
String Rpt_date = null;
// 网页地址
String url = "############";
List<String >list =new ArrayList<String>();
try {
Document doc = Jsoup.connect(url).get();
// 获取第一个表格
Element element = doc.select("table").first();
// System.out.println(element);
Elements els = element.select("tr");
for (Element el : els) {
Elements ele = el.select("td");
for (Element elem : ele) {
if (els.text().toString().indexOf("七日年化收益率") != -1) {
Rpt_date = el.select("td").get(2).text().toString();
// System.err.println("Rpt_date"+Rpt_date);
list.add(Rpt_date);
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
return list;
}