使用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 ...
随机推荐
- C++中的位域(bit-filed):一种节省空间的成员
转载自:http://www.cppblog.com/suiaiguo/archive/2009/07/16/90211.html 有一种被称为位域(bit-field) 的特殊的类数据成员,它可以被 ...
- jQuery Ajax 实例 ($.ajax、$.post、$.get)【转载】
本文转载自:http://jun1986.iteye.com/blog/1399242 Jquery在异步提交方面封装的很好,直接用AJAX非常麻烦,Jquery大大简化了我们的操作,不用考虑浏览器的 ...
- sqlserver查看索引使用情况以及建立丢失的索引
--查看表的索引使用情况SELECT TOP 1000o.name AS 表名, i.name AS 索引名, i.index_id AS 索引id, dm_ius.user_seeks AS 搜索次 ...
- javascript获取对应页面的代码
window.onload = function () { function getUrls(url) {//核心代码是url2这行代码,通过.replace()方法将对应的字符串替换成其他方式 va ...
- VC++中操作XMLWin32实例
摘要:VC++中操作XML XML在Win32程序方面应该没有在Web方面应用得多,很多Win32程序也只是用XML来存存配置信息而已,而且没有足够的好处的话还不如用ini.VC++里操作XML有两个 ...
- Android TagFlowLayout完全解析 一款针对Tag的布局(转)
一.概述 本文之前,先提一下关于上篇博文的100多万访问量请无视,博文被刷,我也很郁闷,本来想把那个文章放到草稿箱,结果放不进去,还把日期弄更新了,实属无奈. ok,开始今天的博文,今天要说的是Tag ...
- Java基础知识强化79:被遗忘的Java Math类
1. Math类概述 Math类包含用于执行基本数学运算的方法,如初等指数.对数.平方根和三角函数. 2. 成员变量 和 成员方法(常用的) (1)成员变量 public static final d ...
- Linux shell入门基础(三)
三.输入输出重定向及管道 01.过滤器 Linux过滤器分三种: 1.过滤器(重定向只对过滤器有作用) #gzip a(将a作为输入源,涉及到输入输出) 2.编辑器 3.交 ...
- 编程小计——消除Graphics图像边缘颜色不纯(抗锯齿)
在很多时候,我们都要绘制纯色的图片,而用Graphics生成的往往是不纯的,尤其是绘制文字时.比如说绘制纯红色文字,往往R达不到255. C#中默认抗锯齿,给人看起来柔和:但是我们现实中往往用到锯齿. ...
- IE下判断IE版本的语句
<!--[if lte IE 6]> <![endif]--> IE6及其以下版本可见 <!--[if lte IE 7]> <![endif]--> ...