1. public String getFaGuiKuTitles(String type, int page) {
  2. String href = "http://info.qd-n-tax.gov.cn/NewFaGuiKu/"+type+"/";
  3. String baseUrl = href + "index";
  4.  
  5. int no = 0;
  6. String msg = "";
  7.  
  8. if(page>0){
  9. baseUrl = baseUrl + "_"+page;
  10. }
  11.  
  12. baseUrl += ".htm";
  13.  
  14. int totalPage = 0;
  15.  
  16. List<FaGui> list = new ArrayList<FaGui>();
  17.  
  18. try {
  19. URL url = new URL(baseUrl);
  20. org.jsoup.nodes.Document doc = Jsoup.parse(url, 10000);
  21.  
  22. org.jsoup.nodes.Element table = doc.select("table").get(0);
  23. org.jsoup.nodes.Element tbody = table.select("tbody").get(0);
  24. org.jsoup.select.Elements rows = tbody.select("tr");
  25.  
  26. int len = rows.size();
  27.  
  28. for (int i = 0; i < len; i++) {
  29. org.jsoup.select.Elements cols = rows.get(i).select("td");
  30.  
  31. FaGui fg = new FaGui();
  32. fg.setTitle(cols.get(0).text());
  33. fg.setDate(cols.get(1).text());
  34.  
  35. if(cols.size()>2){
  36. fg.setFwzh(cols.get(2).text());
  37. }
  38.  
  39. org.jsoup.nodes.Element a = cols.get(0).select("a").get(0);
  40. fg.setHref(a.attr("href").replaceFirst("./", href));
  41.  
  42. list.add(fg);
  43. }
  44.  
  45. //翻页信息
  46. String pager = doc.getElementsByClass("pager").get(0).html();
  47. int start = pager.indexOf("(")+1;
  48. int end = pager.indexOf(",");
  49. pager = pager.substring(start, end);//截取页面中的总页数
  50.  
  51. if(pager.matches("\\d+")){
  52. totalPage = Integer.parseInt(pager);
  53. }
  54.  
  55. no = 1;
  56. msg = "SUCCESS";
  57.  
  58. log.info("获取税收法规库标题内容", "getFaGuiKuTitles");
  59. } catch (MalformedURLException ex) {
  60. Logger.getLogger(LocalServiceImpl.class.getName()).log(Level.SEVERE, null, ex);
  61. msg = "获取税收法规库标题内容:baseUrl"+baseUrl+"不可用,ex:"+ex;
  62. log.error(msg, "getFaGuiKuTitles");
  63. } catch (IOException ex) {
  64. Logger.getLogger(LocalServiceImpl.class.getName()).log(Level.SEVERE, null, ex);
  65. msg = "获取税收法规库标题内容:IO异常,ex:"+ex;
  66. log.error(msg, "getFaGuiKuTitles");
  67. }
  68.  
  69. return ResultUtil.getResult(no, msg, list,totalPage,page);
  70. }

使用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. pdf打印乱码问题

    问题: 使用Adobe Reader将一份pdf文件通过我的虚拟打印机输出后(输出的是中间文件,等同于EMF文件),查看的时候发现有时候是乱码.最简单的必现步骤: 1.使用Adobe Reader打开 ...

  2. Mac 下 Scala 平台搭建

    1.先要安装 JDK,下载地址: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html ...

  3. 《算法问题实战策略》-chaper17-部分和

    数组上的一个基本优化——部分和: 对于一定长度的数组,我们想不断访问这个数组上的某个区间的和,我们能够怎么做呢?这里先不去谈一些数据结构在这个问题上的优化处理.首先我们最简单的一个方法就是穷举出所有区 ...

  4. css文本超出2行就隐藏并显示省略号

    之前在网上看到过这样的代码,感觉有的时候还是挺有用的,故留个笔记. display:-webkit-box; //将对象作为弹性伸缩盒子模型显示. -webkit-box-orient:vertica ...

  5. 使用jquery生成二维码

    二维码已经渗透到生活中的方方面面,不管到哪,我们都可以用扫一扫解决大多数问题.二狗为了准备应对以后项目中会出现的二维码任务,就上网了解了如何使用jquery.qrcode生成二维码.方法简单粗暴,[] ...

  6. 1000 A+B [ACM刷题]

    这一段时间一直都在刷OJ,这里建一个博客合集,用以记录和分享算法学习的进程. github传送门:https://github.com/haoyuanliu/Online_Judge/tree/mas ...

  7. CSS3之渐变Gradient

    渐变是CSS3中比较好玩的属性,学会了渐变,那么可以做出非常炫的东东哟.CSS3 中渐变——Gradient分为linear-gradient(线性渐变)和radial-gradient(径向渐变). ...

  8. [Angular 2] Using a Value from the Store in a Reducer

    RxJS allows you to combine streams in various ways. This lesson shows you how to take a click stream ...

  9. 《AngularJS》--指令的相互调用

    转载自http://blog.csdn.net/zhoukun1008/article/details/51296692 人们喜欢AngularJS,因为他很有特色,其中他的指令和双向数据绑定很吸引着 ...

  10. linux删除或隐藏命令历史记录history

    1.环境变量添加HISTCONTROL = ignorespace 在命令前面插入空格,这条命令会被 shell 忽略,也就意味着它不会出现在历史记录中.但是这种方法有个前提,只有在你的环境变量 HI ...