Jsoup解析网页获取信息

毕设需要使用网页上的数据,然后就用到了JSOUP。

Jsoup官网

既然是解析Html,首先要做的就是获取html这个页面,也就是要成功链接url。

就拿我做的举个例子,我需要解析获取我们学校官网上的新闻,链接地址为:http://www.chzu.edu.cn/s/1/t/1152/p/3/list.htm

界面如下:

首先创建一个java项目,引入jsoup包,我用的是jsoup-1.6.1.jar

然后就是写代码连接url

    Document doc;
    doc = Jsoup.connect("http://www.chzu.edu.cn/s/1/t/1152/p/2/list.htm").get();

这一步成功连接的话,就得到了html源代码!

然后就是分析html代码,根据class、id或tag来获取想要的内容。

我用的是Firefox里的查件firebug,观察html源代码

新闻用的都是统一样式,可以先根据class“columnStyle”来获取页面上所有的新闻列表,然后遍历,将标题和时间得到,这个时候,查看去jsoup官网看一看api和demo。

第一步,获取样式为columnStyle的所有元素

Elements ListDiv = doc.getElementsByClass("columnStyle");

这样就获取了新闻列表的html代码

第二部根据Tag“a”获取文本内容和属性“href”的值,也就是标题和LinkUrl;根据class为“postTime”获取发布时间,这里可以使用get(0),因为在columnStyle下面只有一个class为“postTime”的元素,代码为

for(int i=0;i<ListDiv.size();i++){
				Element column_ele = ListDiv.get(i);
				Element td_ele = column_ele.getElementsByTag("a").get(0);
				System.out.println("Href:"+td_ele.attr("href"));
				System.out.println("Title:"+td_ele.text().trim());
				Element time_ele = column_ele.getElementsByClass("postTime").get(0);
				System.out.println("PublisTime:"+time_ele.text());
			}

这样看来,jsoup解析html并不是那么难,运行结果为:

Title:滁州学院出台文件力推科技工作
Href:/s/1/t/1152/83/89/info99209.htm
PublisTime:2015-03-10
Title:滁州学院与马来西亚城市理工大学签订合作协议
Href:/s/1/t/1152/83/aa/info99242.htm
PublisTime:2015-03-11
Title:民进滁州学院支部获评全省先进基层组织
Href:/s/1/t/1152/83/a5/info99237.htm
PublisTime:2015-03-11
Title:滁州学院领导调研创业孵化基地
Href:/s/1/t/1152/83/a4/info99236.htm
PublisTime:2015-03-11
Title:滁州学院纪委专题学习省纪委九届五次全会精神
Href:/s/1/t/1152/83/8a/info99210.htm
PublisTime:2015-03-10
Title:滁州学院师生热议全国“两会”
Href:/s/1/t/1152/83/88/info99208.htm
PublisTime:2015-03-10
Title:滁州学院在第四届全国大学生艺术展演中获佳绩
Href:/s/1/t/1152/83/70/info99184.htm
PublisTime:2015-03-10
Title:滁州学院部署2015年对口招生暨普通专升本工作
Href:/s/1/t/1152/82/f7/info99063.htm
PublisTime:2015-03-08
Title:滁州学院举办多彩趣味活动喜迎三八妇女节
Href:/s/1/t/1152/82/f6/info99062.htm
PublisTime:2015-03-08
Title:滁州学院开展义务植树推进绿色校园建设
Href:/s/1/t/1152/82/6b/info98923.htm
PublisTime:2015-03-06
Title:滁州学院两学子获"安徽省十佳大学生"提名奖
Href:/s/1/t/1152/82/68/info98920.htm
PublisTime:2015-03-05
Title:滁州学院召开务虚会认真谋划2015年工作
Href:/s/1/t/1152/82/3b/info98875.htm
PublisTime:2015-03-03
Title:滁州学院领导开学第一天检查教学运行情况
Href:/s/1/t/1152/82/29/info98857.htm
PublisTime:2015-03-03
Title:滁州学院召开新学期第一次教学督导组工作会议
Href:/s/1/t/1152/81/f7/info98807.htm
PublisTime:2015-03-03
Title:滁州学院辅导员获全国高校辅导员优秀博文奖
Href:/s/1/t/1152/81/f8/info98808.htm
PublisTime:2015-03-02

源码下载(包括Jar包)

接下来做的就是获取文章的内容,包括图片~~~未完待续

时间: 2024-10-09 06:02:04

Jsoup解析网页获取信息的相关文章

使用Jsoup解析网页

之前已经发表过一篇使用HtmlParser类来解析视频网站的教程 http://blog.csdn.net/gfd54gd5f46/article/details/54960538 我发现htmlparser类太旧了,而且用起来语法也不清晰. 所以我又找来一个更强大的解析网页的工具类:Jsoup 来帮助我们制作更强大的网络爬虫 下载Jsoup类       jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址.HTML文本内容.它提供了一套非常省力的API,可通过DOM,CSS

微信小程序--通过请求网页获取信息并显示

效果描述: 按动主页按钮跳转至列表页,在列表页显示请求网页所获取的信息,并通过所得信息的id的不同,链接到不同的网页进一步获取不同信息. 触碰按钮跳转至列表页触碰表题按钮跳转至详情页,其中不同的按钮对应的详情页内容不同而格式相同. 这样的好处是,可以通过网页信息的改变自动改变页面信息. 流程: 使用Api: wx.request() //请求网页信息wx.navigateTo()  //跳转页面 注意点: 1.在列表页,要将网页上获取的信息根据id的不同,选择对应信息显示在列表页,并将其显示在详

使用java开源工具httpClient及jsoup抓取解析网页数据

今天做项目的时候遇到这样一个需求,需要在网页上展示今日黄历信息,数据格式如下 公历时间:2016年04月11日 星期一 农历时间:猴年三月初五 天干地支:丙申年 壬辰月 癸亥日 宜:求子 祈福 开光 祭祀 安床 忌:玉堂(黄道)危日,忌出行 主要包括公历/农历日期,以及忌宜信息的等.但是手里并没有现成的数据可供使用,怎么办呢? 革命前辈曾经说过,没有枪,没有炮,敌(wang)人(luo)给我们造!网络上有很多现成的在线 万年历应用可供使用,虽然没有现成接口,但是我们可以伸出手来,自己去拿.也就是

超级课程表原理解析(如何获取网页内容)

一直对手机怎么访问网页很好奇,比如网页上填的姓名密码之类的,在手机上怎么填上去,怎么把网页的内容解析完放在手机上.这次就手机访问教务系统举个简单的例子,相信看完你就懂啦,以后就可以随心所欲的解析网页啦. 君欲善其事,必先利其器.首先要准备两个工具:1.HttpWatch(网页数据分析工具,利用它抓取网页内容),2.一个Jar包:Jsoup(解析网页内容).有了这两个东西剩下的事就好办啦. 我是大连海事大学的学生就用海事大学的教务系统为例,实现一个简单的课程表App. 先上图:          

利用jsoup解析电影天堂资源的应用程序包含源码

大家好!2014年的年尾,心血来潮利用一点点时间利用jsoup解析网页技术解析了“电影天堂”网站的视频资源.其中主要涉及到的技术有jsoup解 析,imageloader加载图片.android侧滑和简单的UI布局.但是有个缺陷是获取了所有的下载地址,但是没有实线下载的功能,有兴趣的朋友 可以接着实现该功能,或者利用手机迅雷进行下载. 下载地址为: http://pan.baidu.com/s/1hq1n6Oc#0-qzone-1-91781-d020d2d2a4e8d1a374a433f596

jsoup开发网页客户端3

这个系列好久没更新,最近好忙,老大说未来是Html5的,所以最近一直学习前端以及Html5的一些东西.Android5.0的诞生,让我们眼前一亮,独特的Material风格更是吸引了无数人. 话说不学习学习就要落伍了,刚好自己一直很喜欢看这个网站的东西 http://www.techug.com/,就爬了过来,于是就有了下面这个东西,功能还刚刚开始做,先贴几张截图出来. 说一点简单实现,由于是用jsoup解析网页,相比于那些返回api数据来说 肯定耗流量,加载慢,所以程序assts中预先放了一个

Jsoup解析html页面实现CSDN博客客户端

这段时间课比较少,我用Jsoup解析html写了一个阅读CSDN博客的app. 已经实现的功能有: 1.阅读博客频道首页最新|最热的文章: 2.浏览所有专栏&阅读其中的文章: 3.阅读热门文章: 4.查看指定id用户的所有文章: 整个程序运行起来的样子大概就是这个样子.. 核心代码:下载指定的html页面 --> 使用Jsoup解析,获取自己需要的元素.了解Jsoup的同学都知道很简单的. 由于时间&水平有限,app界面很简陋,可能会有些BUG. 而且有一个问题没有解决:解析时怎么识

Jsoup登录解析网页信息

今天解析网页的时候,遇到必须登录后才能够访问的问题,在网上搜索了一些资料,反正有人做出来了,不过是使用HttpClient+Jsoup来实现的,我不清楚他们使用什么版本的Jsoup,地址:  HttpClient模拟登陆人人网,并且爬取日志内容(一),http://bbs.csdn.net/topics/390269063,查看现在的Jsoup API,可以直接模拟登陆,获取服务器返回的信息. 我这里是使用水木社区做Demo,其中下面的id和passwd分别是提交form表单中用户名和密码的

Jsoup抓取、解析网页和poi存取excel综合案例——采集网站的联系人信息

需求:采集网站中每一页的联系人信息 一.创建maven工程,添加jsoup和poi的依赖包 <!-- https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml --> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>3.16-be