使用Jsoup进行网页数据抓取

来源:互联网 发布:mac上玩lol 编辑:程序博客网 时间:2024/06/05 03:27

在进行网页数据抓取的时候主要有HtmlParser和Jsoup,下面简单介绍一下Jsoup的使用方法。

在学习jsoup之前最好有一点jquery的编程经验,这样会去jsoup的取值方法以及查找方式会更熟悉。

下面只给出简单的一个方法:

public KaiJiangInfo crawler_k3(){KaiJiangInfo kaiJiangInfo = null;try {kaiJiangInfo = new KaiJiangInfo();kaiJiangInfo.setCzId("563");kaiJiangInfo.setCzName("安徽");Document doc = Jsoup.connect("http://data.ahfc.gov.cn/k3/index.html").timeout(30000).get();     Element e_table = doc.getElementById("chartsTable");     Element e_tbody = e_table.select("tbody[id=chartsTbody]").first();     Element e_tr = e_tbody.select("tr").get(e_tbody.select("tr").size()-2);     String k3_issue = e_tr.select("td[class=line_r]").text();kaiJiangInfo.setIssue(k3_issue.trim());StringBuffer sb = new StringBuffer();Elements k3_kjZNum = e_tr.select("td[class=ball01],td[class=ball01 line_r]");// 拼接号码用“ ”分隔for (int i = 0; i < k3_kjZNum.size(); i++) {if (i > 0) {sb.append(" " + k3_kjZNum.get(i).text());} else {sb.append(k3_kjZNum.get(i).text());}}String k3_num = new String(sb);kaiJiangInfo.setKjZNum(k3_num.trim());kaiJiangInfo.setKjDate(CrawlerDateAH.getkjDate("20"+kaiJiangInfo.getIssue()));} catch (Exception e) {log.error(e);return null;}return kaiJiangInfo;}

更多文章见:http://www.16boke.com

原创粉丝点击