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. MVC中各类文件

    sln:解决方案文件,为解决方案资源管理器提供显示管理文件的图形接口所需的信息. .csproj:项目文件,创建应用程序所需的引用.数据连接.文件夹和文件的信息. .aspx:Web 窗体页由两部分组 ...

  2. oracle的shutdown命令有几种参数

    SHUTDOWN NORMAL:不允许新的连接.等待会话结束.等待事务结束.做一个检查点并关闭数据文件.启动时不需要实例恢复.SHUTDOWN TRANSACTIONAL:不允许新的连接.不等待会话结 ...

  3. node.js环境配置(angularjs高级程序设计中出现的错误)

    一:npm install connect会出现错误:解决方法 1:$ npm install connect@2.X.X 2:$ npm install serve-static: 建立server ...

  4. hibernate初涉

    好久都不曾写写总结一些东西了,惰性真的是令人难以克制!虽然和许多北漂族一样,艰苦而又迷茫,但是我总能找到一些方向,一点期盼,因为你就我的目标.我会坚持下去,重拾青春的热血,既然人生如戏,那我不当猪脚. ...

  5. Java 编程的动态性,第 7 部分: 用 BCEL 设计字节码--转载

    在本系列的最后三篇文章中,我展示了如何用 Javassist 框架操作类.这次我将用一种很不同的方法操纵字节码——使用 Apache Byte Code Engineering Library (BC ...

  6. python对象(腌制)

    python的内置对象类型主要有数字,字符串,列表,元祖,字典,集合等等,在python中,一切皆为对象 #腌制在python中如果我们有一些对象需要持久性存储,并且不丢失我们这个对象的类型与数据,我 ...

  7. Visual Studio写的项目在 IIS 服务器上运行的两种简单方法

    首先需要PC上开启了IIS服务,相关方法网上很多,也很简单 第一种:直接在项目中操作 1.创建一个项目,然后右击选中项目,右击,单击属性,打开项目属性标签页面 如图,选择Web标签,在服务器栏目中选中 ...

  8. CRC32校验的用法

    CRC32校验数据的完整性 这里的数据包括字符串.文件,还有哪些? 文件校验相当于下载大型软件,有md5加密结果.这里的用途是什么?

  9. WCF 接收我服务的 HTTP 响应时发生错误

    错误内容: System.ServiceModel.CommunicationException: 接收对 https://xx.com/xx.svc的 HTTP 响应时发生错误.这可能是由于服务终结 ...

  10. 在iOS8下使用CLLocationManager定位服务需要系统授权

    最近在ios8.0使用CLLocationManager定位服务,发现老不能定位,查看设置菜单中的项也是处于未知状态.想起之前都有一个弹出框提示用户是否允许定位,这次一直没有出现了.原来ios8.0下 ...