public String getFaGuiKuTitles(String type, int page) {
String href = "http://info.qd-n-tax.gov.cn/NewFaGuiKu/"+type+"/";
String baseUrl = href + "index"; int no = 0;
String msg = ""; if(page>0){
baseUrl = baseUrl + "_"+page;
} baseUrl += ".htm"; int totalPage = 0; List<FaGui> list = new ArrayList<FaGui>(); try {
URL url = new URL(baseUrl);
org.jsoup.nodes.Document doc = Jsoup.parse(url, 10000); org.jsoup.nodes.Element table = doc.select("table").get(0);
org.jsoup.nodes.Element tbody = table.select("tbody").get(0);
org.jsoup.select.Elements rows = tbody.select("tr"); int len = rows.size(); for (int i = 0; i < len; i++) {
org.jsoup.select.Elements cols = rows.get(i).select("td"); FaGui fg = new FaGui();
fg.setTitle(cols.get(0).text());
fg.setDate(cols.get(1).text()); if(cols.size()>2){
fg.setFwzh(cols.get(2).text());
} org.jsoup.nodes.Element a = cols.get(0).select("a").get(0);
fg.setHref(a.attr("href").replaceFirst("./", href)); list.add(fg);
} //翻页信息
String pager = doc.getElementsByClass("pager").get(0).html();
int start = pager.indexOf("(")+1;
int end = pager.indexOf(",");
pager = pager.substring(start, end);//截取页面中的总页数 if(pager.matches("\\d+")){
totalPage = Integer.parseInt(pager);
} no = 1;
msg = "SUCCESS"; log.info("获取税收法规库标题内容", "getFaGuiKuTitles");
} catch (MalformedURLException ex) {
Logger.getLogger(LocalServiceImpl.class.getName()).log(Level.SEVERE, null, ex);
msg = "获取税收法规库标题内容:baseUrl"+baseUrl+"不可用,ex:"+ex;
log.error(msg, "getFaGuiKuTitles");
} catch (IOException ex) {
Logger.getLogger(LocalServiceImpl.class.getName()).log(Level.SEVERE, null, ex);
msg = "获取税收法规库标题内容:IO异常,ex:"+ex;
log.error(msg, "getFaGuiKuTitles");
} return ResultUtil.getResult(no, msg, list,totalPage,page);
}

使用jsoup解析html页面内容案例的更多相关文章

  1. Android开发探秘之三:利用jsoup解析HTML页面

    这节主要是讲解jsoup解析HTML页面.由于在android开发过程中,不可避免的涉及到web页面的抓取,解析,展示等等,所以,在这里我主要展示下利用jsoup jar包来抓取cnbeta.com网 ...

  2. jsoup 解析html 页面数据

    我html 页面元素: /html/body/table[2]/tbody/tr[1]/td/table/tbody/tr[1]/td[2]/font/html/body/table[2]/tbody ...

  3. Android中利用jsoup解析html页面

    学习jsoup :jsoup学习网站 Android 中使用: 添加依赖 implementation 'org.jsoup:jsoup:1.10.1' 直接上代码: package com.load ...

  4. XML解析——Jsoup解析器

    一.Jsoup解析器快速入门案例 Docement对象,文本对象,包含着各个Dom树结构 1.引入Jsoup解析器的jar包放在lib文件夹下后,写java代码 其中, 二.Jsoup对象 1.Jso ...

  5. php 获得汇率(解析页面内容获得指定数据)

    首先贴出原文链接:https://jingyan.baidu.com/article/922554465bf115851748f45f.html 方法如下: function getRate($fro ...

  6. jsoup解析页面

    package com.java.jsoup; /** * jsoup解析网页 * @author nidegui * @version 2019年4月29日 下午5:12:02 * */ impor ...

  7. Java爬虫系列三:使用Jsoup解析HTML

    在上一篇随笔<Java爬虫系列二:使用HttpClient抓取页面HTML>中介绍了怎么使用HttpClient进行爬虫的第一步--抓取页面html,今天接着来看下爬虫的第二步--解析抓取 ...

  8. Android利用Jsoup解析html 开发网站客户端小记。

    这些天业余时间比较多,闲来无事,想起了以前看过开发任意网站客户端的一篇文章,就是利用jsoup解析网站网页,通过标签获取想要的内容.好了废话不多说,用到的工具为 jsoup-1.7.2.jar包,具体 ...

  9. 一步步教你为网站开发Android客户端---HttpWatch抓包,HttpClient模拟POST请求,Jsoup解析HTML代码,动态更新ListView

    本文面向Android初级开发者,有一定的Java和Android知识即可. 文章覆盖知识点:HttpWatch抓包,HttpClient模拟POST请求,Jsoup解析HTML代码,动态更新List ...

随机推荐

  1. selenium webdriver python 元素定位

    总结   定位查找时,返回查找到的第一个match的元素.如果找不到,则 raise NoSuchElementException   单个元素定位: find_element_by_idfind_e ...

  2. java集合简介

    java集合主要包括以下几点 Java 集合概述 Collection 接口 Iterator 接口 Set List Map Collections 工具类 Enumeration 1.java集合 ...

  3. (转)Maven实战(六)依赖

    我们项目中用到的jar包可以通过依赖的方式引入,构建项目的时候从Maven仓库下载即可. 1. 依赖配置    依赖可以声明如下: <project> ... <dependenci ...

  4. jquery cycle pugin

    插件地址: http://jquery.malsup.com/cycle/ <div id="propaganda"><div id="pgdImg&q ...

  5. Php Laravel框架 多表关系处理 之 Eloquent一对多关系处理

    Php Laravel框架 多表关系处理 之 Eloquent一对多关系处理 本博文主要介绍 Laravel 框架中 Eloquent  对一对多关系的处理以及在 Laravel Administra ...

  6. [Angular 2] Handling Click Events with Subjects

    While Angular 2 usually uses event handlers to manage events and RxJS typically uses Observable.from ...

  7. android中网络操作使用总结(http)

    Android是作为智能手机的操作系统,我们开发的应用,大多数也都须要连接网络,通过网络发送数据.获取数据,因此作为一个应用开发人员必须熟悉怎么进行网络訪问与连接.通常android中进行网络连接通常 ...

  8. NYOJ-104最大和

    我看了好多博客,都是拿一维的做基础,一维的比较简单,所以要把二维的化成一维的,一维的题目大意:给了一个序列,求那个子序列的和最大,这时候就可以用dp来做,首先dp[i]表示第i个数能构成的最大子序列和 ...

  9. NYOJ-569最大公约数之和

    题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=569 此题目可以用筛选法的思想来做,但是用到一个欧拉函数 gcd(1,12)=1,gcd( ...

  10. java -jar start.jar和nohup java -jar xxx.jar > test.log &的区别

    nohup用在什么地方? KD3EE49RD38