应用Jsoup解析给定的某个URL地址、HTML文本内容。
2013-02-23 11:50
393 查看
首先下载jsoup的jar包,然后在新建的工程里导入jsoup包。再编译就可以了
package example;
import java.io.IOException;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
public class screenscrape {
/**
* @param args
*/
public static void main(String[] args) throws IOException {
Document doc = Jsoup.connect("http://www.menneske.no/arukone/5x5/eng/?number=499").get();
Elements contents = doc.getElementsByClass("arukone");
Elements datas = contents.get(0).getElementsByTag("table");
for (Element data : datas)
{
Elements trs=data.getElementsByTag("tr");
System.out.println("姓名:彭峻华,地区:杭州市滨江区 Email:junhua_peng@foxmail.com");
for (int i = 0; i<trs.size(); i++)
{
Elements tds = trs.get(i).getElementsByTag("td");
for(int j = 0; j<tds.size(); j++){
if(!"".equals(tds.get(j).text())){
System.out.println("499,super easy:"+" "+tds.get(j).text()+","+i+","+j);
}
}
}
}
}
}
运行结果截图如下:
Jsoup介绍:
jsoup是一款java的HIML解析器,可以直接解析某个URL地址,HIML文本内容。他提供了一套非常省力的APPI,可以通过DOM,CSS以及类似于jQuery的操作方法取出和操作数据。
jsoup的主要功能如下:
1.从一个URL,文件或字符串中解析HTML;
2.使用DOM或CSS选择器来查找、取出数据;
3.可操作HTML元素、属性、文本;
例如:元素检索方面
File input=new File("D:\test.html");
Document doc=Jsoup.parse(input,"UTF-8","网址");
Elements links=doc.select("a[href]");
Elements pngs=doc.select("img[src$=.png]");
Element masthead=doc.select("div.masthead",first());
Elements resultLinks=doc.select("h3.r>a"); //direct a after h3
1. HTML文件解析例子
File input = new File("/tmp/input.html");
Document doc = Jsoup.parse(input, "UTF-8", "http://example.com/");
2. URL解析例子
URL url = new URL("http://example.com/");
Document doc = Jsoup.parse(url, 3*1000);String title = doc.title();
// 从URL直接加载HTML 文档
Document doc =Jsoup.connect("网址/").get();
String title = doc.title();
Document doc =Jsoup.connect("网址/")
.data("query", "Java") //请求参数
.userAgent("I’mjsoup") //设置User-Agent
.cookie("auth", "token") //设置cookie
.timeout(3000) //设置连接超时时间
.post(); //使用POST方法访问URL
至于本题的代码实现如下:
public static void main(String[] args) throws IOException {
Document doc = Jsoup.connect("http://www.menneske.no/arukone/5x5/eng/?number=499").get();
Elements contents = doc.getElementsByClass("arukone");
Elements datas = contents.get(0).getElementsByTag("table");
for (Element data : datas)
{
Elements trs=data.getElementsByTag("tr");
for (int i = 0; i<trs.size(); i++)
{
Elements tds = trs.get(i).getElementsByTag("td");
for(int j = 0; j<tds.size(); j++){
if(!"".equals(tds.get(j).text())){
System.out.println(tds.get(j).text()+","+i+","+j);
}
}
}
}
}
package example;
import java.io.IOException;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
public class screenscrape {
/**
* @param args
*/
public static void main(String[] args) throws IOException {
Document doc = Jsoup.connect("http://www.menneske.no/arukone/5x5/eng/?number=499").get();
Elements contents = doc.getElementsByClass("arukone");
Elements datas = contents.get(0).getElementsByTag("table");
for (Element data : datas)
{
Elements trs=data.getElementsByTag("tr");
System.out.println("姓名:彭峻华,地区:杭州市滨江区 Email:junhua_peng@foxmail.com");
for (int i = 0; i<trs.size(); i++)
{
Elements tds = trs.get(i).getElementsByTag("td");
for(int j = 0; j<tds.size(); j++){
if(!"".equals(tds.get(j).text())){
System.out.println("499,super easy:"+" "+tds.get(j).text()+","+i+","+j);
}
}
}
}
}
}
运行结果截图如下:
Jsoup介绍:
jsoup是一款java的HIML解析器,可以直接解析某个URL地址,HIML文本内容。他提供了一套非常省力的APPI,可以通过DOM,CSS以及类似于jQuery的操作方法取出和操作数据。
jsoup的主要功能如下:
1.从一个URL,文件或字符串中解析HTML;
2.使用DOM或CSS选择器来查找、取出数据;
3.可操作HTML元素、属性、文本;
例如:元素检索方面
File input=new File("D:\test.html");
Document doc=Jsoup.parse(input,"UTF-8","网址");
Elements links=doc.select("a[href]");
Elements pngs=doc.select("img[src$=.png]");
Element masthead=doc.select("div.masthead",first());
Elements resultLinks=doc.select("h3.r>a"); //direct a after h3
1. HTML文件解析例子
File input = new File("/tmp/input.html");
Document doc = Jsoup.parse(input, "UTF-8", "http://example.com/");
2. URL解析例子
URL url = new URL("http://example.com/");
Document doc = Jsoup.parse(url, 3*1000);String title = doc.title();
// 从URL直接加载HTML 文档
Document doc =Jsoup.connect("网址/").get();
String title = doc.title();
Document doc =Jsoup.connect("网址/")
.data("query", "Java") //请求参数
.userAgent("I’mjsoup") //设置User-Agent
.cookie("auth", "token") //设置cookie
.timeout(3000) //设置连接超时时间
.post(); //使用POST方法访问URL
至于本题的代码实现如下:
public static void main(String[] args) throws IOException {
Document doc = Jsoup.connect("http://www.menneske.no/arukone/5x5/eng/?number=499").get();
Elements contents = doc.getElementsByClass("arukone");
Elements datas = contents.get(0).getElementsByTag("table");
for (Element data : datas)
{
Elements trs=data.getElementsByTag("tr");
for (int i = 0; i<trs.size(); i++)
{
Elements tds = trs.get(i).getElementsByTag("td");
for(int j = 0; j<tds.size(); j++){
if(!"".equals(tds.get(j).text())){
System.out.println(tds.get(j).text()+","+i+","+j);
}
}
}
}
}
相关文章推荐
- Jsoup解析本地html,对文本内容提取
- jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址
- JSoup——用Java解析html网页内容
- Jsoup解析HTML 标签内容
- 使用jsoup解析html页面内容案例
- 【Jsoup】URL地址解析
- perl 用参数传递URL地址进行HTML解析
- Java实现将文本内容、网址链接url,生成二维码与反解析
- 使用jsoup抓取指定网站地址的class的html内容
- Linux Shell编程实战---解析文本中的邮件地址和url
- Jsoup解析html时对相对地址的处理
- 使用Jsoup解析Html,获取网页内容
- 安卓新闻客户端(二) JSOUP解析HTML 抓取网页内容
- word解析为html文本 并替换内容图片(doc、docx
- 使用Jsoup库解析HTML、XML或URL链接中的DOM节点
- 使用所见即所得文本编辑器编辑文本存入数据库后通过ajax获取服务器json_encode的数据到前台,文本内容上边的html标签不解析
- 通过url,获取html内容,并解析
- 使用jsoup解析html的table中的文本信息
- Jsoup.connect(url).get()解析html页面空格&bsp乱码问题
- 使用jsoup解析html的table中的文本信息实例