简单使用jsoup
来源:互联网 发布:阿里云服务器登录失败 编辑:程序博客网 时间:2024/05/21 08:57
中文在线手册
下载地址
jsoup是java的一款html解析器,可以很方便的对html进行解析。
1.获取标题:
public class TestJsoup {public static void main(String[] args) {Document doc;try {// 获取文档doc = Jsoup.connect("http://news.ifeng.com/").get();// 获取bodyElement content = doc.body();// 标签集合,是每页的标题和链接Elements divs = content.select("div");for (int i = 0; i < divs.size(); i++) {// 今日要闻if ("box_02".equals(divs.get(i).attributes().get("class"))) {Elements titles = divs.get(i).select("a");for (Element title : titles) {if (""!=title.text()) {System.out.println(title.text());//链接system.out.printlin(title.select("a").attr("href");); }}}}} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}}
结果:
2.获取新闻内容:
public static void main(String[] args) {Document doc;try {// 获取文档doc = Jsoup.connect("http://news.ifeng.com/world/special/malaixiyakejishilian/content-4/detail_2014_03/30/35274873_0.shtml").get();// 获取bodyElement content = doc.getElementById("main_content");// 标签集合,是每页的标题和链接Elements divs = content.select("p");for (Element ele : divs) {// 假如标签是图片地址if ("detailPic".equals(ele.attributes().get("class"))) {System.out.println(ele.select("img").attr("src"));} else {System.out.println(ele.text() + "\n");}}} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}
结果:
3.获取video信息:
这是某个新闻的视频消息,我们需要解析script里面的参数信息。
// videos = p.select("script");if (!s.isEmpty()) {// 将参数列表转为文本String data = s.first().data();data = data.replaceAll("var", "");String[] arr;// arr= data.split("',");// for (int i = 0; i < arr.length; i++) {// String str = arr[i];// str = str.replaceAll("flash_[\\S]{0,} = '", "");// System.out.println(str.trim());// }arr = data.split(",");for (String str : arr) {String[] ir = str.split("=");System.out.println(ir[0].trim() + ";" + ir[1].trim());}}
结果:
完整的例子:
public class Artcle {private String artLink;private Document Doc;private Element ele;private Elements eles;// "http://news.qq.com/a/20141001/018175.htm?tu_biz=1.114.2.1"public Artcle(String str) {this.artLink = str;}public Document getDoc(String web) {Document doc = null;try {doc = Jsoup.connect(web).get();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();return null;}return doc;}public void getArtcle() {if (null == (Doc = getDoc(artLink))) {return;}ele = Doc.select("div#Cnt-Main-Article-QQ").first();eles = ele.select("p");for (Element p : eles) {Elements s = null;// videos = p.select("script");if (!s.isEmpty()) {// 将参数列表转为文本String data = s.first().data();data = data.replaceAll("var", "");String[] arr;// arr= data.split("',");// for (int i = 0; i < arr.length; i++) {// String str = arr[i];// str = str.replaceAll("flash_[\\S]{0,} = '", "");// System.out.println(str.trim());// }arr = data.split(",");for (String str : arr) {String[] ir = str.split("=");System.out.println(ir[0].trim() + ";" + ir[1].trim());}}}}}
注意:
1.使用的方法还是很简单的,在有时候解析网页的时候会抛出io异常,自己注意就是了。
2.// 将参数列表转为文本
String data = s.first().data();
很重要的方法,将script中的参数列表转为字符串格式,然后我们通过对字符串的裁剪等操作,就可以得到需要的信息。
0 0
- 简单使用jsoup
- Jsoup的简单使用
- Jsoup的简单使用
- Jsoup简单使用
- jsoup 简介及简单使用
- 关于Jsoup的简单使用
- jsoup爬虫简单使用笔记
- 安卓学习--------jsoup简单使用
- 使用Jsoup作为简单的http客户端
- 简单的使用jsoup爬取图片
- 使用Jsoup简单解析HTML文件示例
- Java使用Jsoup简单解析页面
- 使用Jsoup 简单抓取页面的数据
- 关于JSoup的简单使用案
- jsoup使用
- jsoup使用
- jsoup使用
- Jsoup使用
- zoj 2839 Find the Sequences(数学题)
- c函数之【文件及目录函数】
- 高效程序员的 7 个共同特征
- C/C++实现矩阵相乘(一)
- DCMTK-Configure the logger from a program
- 简单使用jsoup
- 关于共享文件夹
- [2012校赛新生组]狡兔三窟
- 写在开博前的话
- 最全的常用正则表达式
- CURL 请求错误代码
- c函数之【信号函数】
- (一)洞悉linux下的Netfilter&iptables:什么是Netfilter?
- 浏览器(chrome) 快捷键