HTML、XML 等 Dom 结点类解析库的使用
2016-09-20 16:39
471 查看
一.Jsoup 的特点和优势
1.Jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。
2.Jsoup的特点:
HTML、XML、自定义DOM格式文本解析
可操作HTML元素、属性、文本
适用于采集解析网站HTML
DOM解析功能强大
二. Jsoup 的基本结点解析用法
1.基本用法:
分析Html或Dom文本的结点标签结构
寻找你要解析的那个内容部分所在的结点标记
调用Jsoup API解析结点内容
2.代码演示:
使用 Jsoup 载入 Html 数据
使用 Jsoup 解析并提取 HTML 元素
使用 Jsoup 修改数据
使用 Jsoup HTML 文档清理
package com.example.admin.myapplication;
import android.content.Intent;
import android.os.Environment;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import com.ant.liao.GifView;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.safety.Whitelist;
import org.jsoup.select.Elements;
import java.io.File;
import java.io.IOException;
/**
* 使用 Jsoup 载入 Html 数据
*
* 使用 Jsoup 解析并提取 HTML 元素
*
* 使用 Jsoup 修改数据
*
* 使用 Jsoup HTML 文档清理
*
* 可以使用Jsoup解析Html,Epub,自定义格式文本
*
* @author Administrator
*
*/
public class MainActivity extends AppCompatActivity {
private String html = "<html><head><title>Jsoup用法</title></head>"
+ "<body><p><a href='http://baidu.com'>这里是 jsoup 项目的相关文章</a></p></body></html>";
private String url = "http://blog.csdn.net/mobile/newarticle.html";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//载入 Html 数据
Document document= Jsoup.parse(html);
document.title();
Elements elements=document.getElementsByTag("a");
for (Element element:elements){
String link=element.attr("href");
String text=element.text();
}
//检索
elements=document.select("a[herf]");
elements=document.select("img[src$=.png]");
Element element=document.select("div.className").first();
//增加
document.select("div.className").attr("key","value");
///class="myclass"
document.select("div.className").addClass("myclass");
document.select("img").removeAttr("onclick");
try {
//载入 Html 数据,GET请求
document=Jsoup.connect(url).get();
Elements elements1=document.select("div.blog_list_c");
for (Element element1:elements1){
String text=element1.text();
}
//载入 Html 数据,POST请求
// document=Jsoup.connect(url).data("key","value").timeout(3000).post();
} catch (IOException e) {
e.printStackTrace();
}
//加载本地网页
File input=new File(Environment.getExternalStorageDirectory()+File.separator+"index.html");
try {
Document document1=Jsoup.parse(input,"utf-8",url);
} catch (IOException e) {
e.printStackTrace();
}
//过滤功能
String htmls="";
String htmlsSafe=Jsoup.clean(htmls, Whitelist.basic());
}
}
三. 使用 Jsoup 实现 Html 解析和 Epub 解析
package com.example.admin.myapplication;
import android.content.Intent;
import android.os.Environment;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import com.ant.liao.GifView;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.safety.Whitelist;
import org.jsoup.select.Elements;
import java.io.File;
import java.io.IOException;
/**
* 使用 Jsoup 载入 Html 数据
*
* 使用 Jsoup 解析并提取 HTML 元素
*
* 使用 Jsoup 修改数据
*
* 使用 Jsoup HTML 文档清理
*
* 可以使用Jsoup解析Html,Epub,自定义格式文本
*
* @author Administrator
*
*/
public class MainActivity extends AppCompatActivity {
private String html = "<html><head><title>Jsoup用法</title></head>"
+ "<body><p><a href='http://baidu.com'>这里是 jsoup 项目的相关文章</a></p></body></html>";
private String url = "http://blog.csdn.net/mobile/newarticle.html";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
new Thread(new GetDataThread()).start();
}
public class GetDataThread extends Thread{
@Override
public void run() {
//parseHtml();
parseEpub();
}
}
private void parseEpub() {
}
private void parseHtml() {
//载入 Html 数据
try {
//载入 Html 数据,GET请求
Document document=Jsoup.connect(url).get();
Elements elements=document.select("h3.tracking-ad");
for (Element element:elements){
String text=element.getElementsByTag("a").attr("href");
Log.i("fsg_element",text);
}
//载入 Html 数据,POST请求
// document=Jsoup.connect(url).data("key","value").timeout(3000).post();
} catch (IOException e) {
e.printStackTrace();
}
}
}
1.Jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。
2.Jsoup的特点:
HTML、XML、自定义DOM格式文本解析
可操作HTML元素、属性、文本
适用于采集解析网站HTML
DOM解析功能强大
二. Jsoup 的基本结点解析用法
1.基本用法:
分析Html或Dom文本的结点标签结构
寻找你要解析的那个内容部分所在的结点标记
调用Jsoup API解析结点内容
2.代码演示:
使用 Jsoup 载入 Html 数据
使用 Jsoup 解析并提取 HTML 元素
使用 Jsoup 修改数据
使用 Jsoup HTML 文档清理
package com.example.admin.myapplication;
import android.content.Intent;
import android.os.Environment;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import com.ant.liao.GifView;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.safety.Whitelist;
import org.jsoup.select.Elements;
import java.io.File;
import java.io.IOException;
/**
* 使用 Jsoup 载入 Html 数据
*
* 使用 Jsoup 解析并提取 HTML 元素
*
* 使用 Jsoup 修改数据
*
* 使用 Jsoup HTML 文档清理
*
* 可以使用Jsoup解析Html,Epub,自定义格式文本
*
* @author Administrator
*
*/
public class MainActivity extends AppCompatActivity {
private String html = "<html><head><title>Jsoup用法</title></head>"
+ "<body><p><a href='http://baidu.com'>这里是 jsoup 项目的相关文章</a></p></body></html>";
private String url = "http://blog.csdn.net/mobile/newarticle.html";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//载入 Html 数据
Document document= Jsoup.parse(html);
document.title();
Elements elements=document.getElementsByTag("a");
for (Element element:elements){
String link=element.attr("href");
String text=element.text();
}
//检索
elements=document.select("a[herf]");
elements=document.select("img[src$=.png]");
Element element=document.select("div.className").first();
//增加
document.select("div.className").attr("key","value");
///class="myclass"
document.select("div.className").addClass("myclass");
document.select("img").removeAttr("onclick");
try {
//载入 Html 数据,GET请求
document=Jsoup.connect(url).get();
Elements elements1=document.select("div.blog_list_c");
for (Element element1:elements1){
String text=element1.text();
}
//载入 Html 数据,POST请求
// document=Jsoup.connect(url).data("key","value").timeout(3000).post();
} catch (IOException e) {
e.printStackTrace();
}
//加载本地网页
File input=new File(Environment.getExternalStorageDirectory()+File.separator+"index.html");
try {
Document document1=Jsoup.parse(input,"utf-8",url);
} catch (IOException e) {
e.printStackTrace();
}
//过滤功能
String htmls="";
String htmlsSafe=Jsoup.clean(htmls, Whitelist.basic());
}
}
三. 使用 Jsoup 实现 Html 解析和 Epub 解析
package com.example.admin.myapplication;
import android.content.Intent;
import android.os.Environment;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import com.ant.liao.GifView;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.safety.Whitelist;
import org.jsoup.select.Elements;
import java.io.File;
import java.io.IOException;
/**
* 使用 Jsoup 载入 Html 数据
*
* 使用 Jsoup 解析并提取 HTML 元素
*
* 使用 Jsoup 修改数据
*
* 使用 Jsoup HTML 文档清理
*
* 可以使用Jsoup解析Html,Epub,自定义格式文本
*
* @author Administrator
*
*/
public class MainActivity extends AppCompatActivity {
private String html = "<html><head><title>Jsoup用法</title></head>"
+ "<body><p><a href='http://baidu.com'>这里是 jsoup 项目的相关文章</a></p></body></html>";
private String url = "http://blog.csdn.net/mobile/newarticle.html";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
new Thread(new GetDataThread()).start();
}
public class GetDataThread extends Thread{
@Override
public void run() {
//parseHtml();
parseEpub();
}
}
private void parseEpub() {
}
private void parseHtml() {
//载入 Html 数据
try {
//载入 Html 数据,GET请求
Document document=Jsoup.connect(url).get();
Elements elements=document.select("h3.tracking-ad");
for (Element element:elements){
String text=element.getElementsByTag("a").attr("href");
Log.i("fsg_element",text);
}
//载入 Html 数据,POST请求
// document=Jsoup.connect(url).data("key","value").timeout(3000).post();
} catch (IOException e) {
e.printStackTrace();
}
}
}
相关文章推荐
- Andorid中使用Jsoup解析库解析XML、HTML、Dom节点---第三方库学习笔记(三)
- 使用Jsoup库解析HTML、XML或URL链接中的DOM节点
- 使用Jsoup库解析HTML、XML或URL链接中的DOM节点
- 使用PHP DOM-XML创建和解析XML文件
- java解析xml之一:使用SAX与DOM
- 使用Dom解析XML
- 使用DOM技术来对XML文档进行解析范例
- 将Html原码解析成IHTMLDocumet对象,然后使用DOMNode将html显示成一棵树
- 【原创】使用DOM解析XML文档示例(Java)
- 使用Dom生成xml文件和解析xml文件
- 《Android开发从零开始》——28.使用DOM和pull解析XML
- Android中的XML解析-DOM的使用与开发技巧(转)
- Php Xml解析之DOMDocument使用方法
- 将Html原码解析成IHTMLDocumet对象,然后使用DOMNode将html显示成一棵树
- PHP使用DOM LoadHTML()解析的中文乱码问题
- 使用DOM解析XML文档示例(Java)
- java解析xml之一:使用SAX与DOM
- Php Xml解析之DOMDocument使用方法浅解
- 使用Dom解析xml文件
- 使用DOM技术来对XML文档进行解析范例