使用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 ...
随机推荐
- pdf打印乱码问题
问题: 使用Adobe Reader将一份pdf文件通过我的虚拟打印机输出后(输出的是中间文件,等同于EMF文件),查看的时候发现有时候是乱码.最简单的必现步骤: 1.使用Adobe Reader打开 ...
- Mac 下 Scala 平台搭建
1.先要安装 JDK,下载地址: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html ...
- 《算法问题实战策略》-chaper17-部分和
数组上的一个基本优化——部分和: 对于一定长度的数组,我们想不断访问这个数组上的某个区间的和,我们能够怎么做呢?这里先不去谈一些数据结构在这个问题上的优化处理.首先我们最简单的一个方法就是穷举出所有区 ...
- css文本超出2行就隐藏并显示省略号
之前在网上看到过这样的代码,感觉有的时候还是挺有用的,故留个笔记. display:-webkit-box; //将对象作为弹性伸缩盒子模型显示. -webkit-box-orient:vertica ...
- 使用jquery生成二维码
二维码已经渗透到生活中的方方面面,不管到哪,我们都可以用扫一扫解决大多数问题.二狗为了准备应对以后项目中会出现的二维码任务,就上网了解了如何使用jquery.qrcode生成二维码.方法简单粗暴,[] ...
- 1000 A+B [ACM刷题]
这一段时间一直都在刷OJ,这里建一个博客合集,用以记录和分享算法学习的进程. github传送门:https://github.com/haoyuanliu/Online_Judge/tree/mas ...
- CSS3之渐变Gradient
渐变是CSS3中比较好玩的属性,学会了渐变,那么可以做出非常炫的东东哟.CSS3 中渐变——Gradient分为linear-gradient(线性渐变)和radial-gradient(径向渐变). ...
- [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 ...
- 《AngularJS》--指令的相互调用
转载自http://blog.csdn.net/zhoukun1008/article/details/51296692 人们喜欢AngularJS,因为他很有特色,其中他的指令和双向数据绑定很吸引着 ...
- linux删除或隐藏命令历史记录history
1.环境变量添加HISTCONTROL = ignorespace 在命令前面插入空格,这条命令会被 shell 忽略,也就意味着它不会出现在历史记录中.但是这种方法有个前提,只有在你的环境变量 HI ...