使用jsoup解析html页面内容案例
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页面内容案例的更多相关文章
- Android开发探秘之三:利用jsoup解析HTML页面
这节主要是讲解jsoup解析HTML页面.由于在android开发过程中,不可避免的涉及到web页面的抓取,解析,展示等等,所以,在这里我主要展示下利用jsoup jar包来抓取cnbeta.com网 ...
- jsoup 解析html 页面数据
我html 页面元素: /html/body/table[2]/tbody/tr[1]/td/table/tbody/tr[1]/td[2]/font/html/body/table[2]/tbody ...
- Android中利用jsoup解析html页面
学习jsoup :jsoup学习网站 Android 中使用: 添加依赖 implementation 'org.jsoup:jsoup:1.10.1' 直接上代码: package com.load ...
- XML解析——Jsoup解析器
一.Jsoup解析器快速入门案例 Docement对象,文本对象,包含着各个Dom树结构 1.引入Jsoup解析器的jar包放在lib文件夹下后,写java代码 其中, 二.Jsoup对象 1.Jso ...
- php 获得汇率(解析页面内容获得指定数据)
首先贴出原文链接:https://jingyan.baidu.com/article/922554465bf115851748f45f.html 方法如下: function getRate($fro ...
- jsoup解析页面
package com.java.jsoup; /** * jsoup解析网页 * @author nidegui * @version 2019年4月29日 下午5:12:02 * */ impor ...
- Java爬虫系列三:使用Jsoup解析HTML
在上一篇随笔<Java爬虫系列二:使用HttpClient抓取页面HTML>中介绍了怎么使用HttpClient进行爬虫的第一步--抓取页面html,今天接着来看下爬虫的第二步--解析抓取 ...
- Android利用Jsoup解析html 开发网站客户端小记。
这些天业余时间比较多,闲来无事,想起了以前看过开发任意网站客户端的一篇文章,就是利用jsoup解析网站网页,通过标签获取想要的内容.好了废话不多说,用到的工具为 jsoup-1.7.2.jar包,具体 ...
- 一步步教你为网站开发Android客户端---HttpWatch抓包,HttpClient模拟POST请求,Jsoup解析HTML代码,动态更新ListView
本文面向Android初级开发者,有一定的Java和Android知识即可. 文章覆盖知识点:HttpWatch抓包,HttpClient模拟POST请求,Jsoup解析HTML代码,动态更新List ...
随机推荐
- Android Studio 遇见的第一个Error
最近在国内多次尝试在Eclipse下更新SDK无果后,最后终于通过FQ后结束了Google服务器无法访问的噩梦. 顺着墙外的梯子,一并下载Google的Android Studio尝鲜,安装成功后,就 ...
- java笔记15之this
this:是当前类的对象引用,记为该类的一个对象 注意:谁调用这个方法,在这个方法内部的this就是代表谁 解决场景: 解决局部变量隐藏成员变量 class Student { private Str ...
- 错误 是否保存对以下各项的更改 devenv.sin
描述: 打开VS2012项目时,提示 是否保存对以下各项的更改 devenv.sin google了一下,没找到...纠结.百度了一下,竟然有的...擦一直以为google很给力,看来对于中文的解析不 ...
- X265编译中C2220错误的解决办法
x265编译过程中 C2220错误:根本原因是代码是英文代码页,而我们的操作系统中使用的是中文代码页: 解决办法1 逐个文件进行格式转换,我在ubuntu下用iconv命令试过,没成功: 解决办法2 ...
- (2)入门指南——(2)jQuery可以做什么(What jQuery does)
The jQuery library provides a general-purpose abstraction layer for common web scripting, and is, th ...
- *candy——leetcode
/* */ #include<iostream> #include<vector> //#include<algorithm> #include <windo ...
- Ubuntu安装分区设置
我的Ubuntu 安装分区 /boot 200M / 2000M /home 6000M swap 1000M /boot分区,它包含了操作系统的内核和在启动系统过程中所 ...
- ASP图片格式与base64数据互转方法
ASP图片格式与base64数据相互转换的方法,经常用于处理表单中存储有base64字符串格式的图片. 获取到base64数据,转换成图片 <% Subfolder=year(now)& ...
- Scala学习笔记之:tuple、array、Map
[TOC] 本文<快学Scala>的笔记 tuple学习笔记 tuple的定义 对偶是元组(tuple)的最简单形态--元组是不同类型的值的聚集. 元组的值是通过将单个值包含在圆括号中构成 ...
- java中说明书/开发文档如何编写?
由于在java开发时我们得到的或者给别人的文件一般都是class文件,不会给出源文件,故编写一个简洁易懂的说明书是必须的. ps: @param int[] arr 会有警告,可以删掉 int []. ...