当前位置:编程学习 > JAVA >>

求教用Jsoup解析HMTL编码

网上说jsoup 是一款 Java 的HTML 解析器,可直接解析某个URL地址、HTML文本内容,然后给出了部分代码。但是我并不知道这个解析器具体是怎么加载,怎么用的,求大神指教啊!(PS:最好是有完整的代码,并且具体说一下Jsoup的使用) --------------------编程问答-------------------- 我自己写的一段代码。。。。。现在还遇到点问题没有解决  但是可以供你参考  可以正常运行。。。。。。

public class httpclient {
public static void main(String[] args) {
String html="http://v.hao123.com/movie/index/lx-aq";
System.out.println(html+".............");
Document  doc=Jsoup.parse(html);
System.out.println(doc+".....doc........");
  try {
  Document  doct=Jsoup.connect(html).get();
  System.out.println(doct+"......doct.......");
 String title= doct.title();
 System.out.println(title+"......title.......");
 Jsoup.connect(html).data("query", "java")//请求参数
 .userAgent("I ’ m jsoup")//设置
 .cookie("auth", "token")//
 .timeout(3000)//设置连接超时时间
 .post(); //使用post方法访问url
 // 得到:<meta name="Keywords" content="电影频道,视频下载,体育视频,在线视频,免费视频,自拍,视频教学,网络视频"/>
 //Element  connect= doc.getElementById("content");
 Elements  address= doct.select("p.provide provider clearfix").select("a[href]");
 for (Element element : address) {
 String href=element.attr("href");
 String text=element.text();
 System.out.println("我是。。。。href的连接地址"+text+href);
}
/* 我想的是得到地址然后再下载会很麻烦的     写个下载功能 逐个下载到本地。。麻烦
 *  有人提议用httpclient 来抓取网页和图片
 * 这个问题暂时保留????????
 */
 Elements pic= doct.select("span.image").select("img[src]");// 所有引用 png 图片的元素
 for (Element element : pic) {
 String src=element.attr("src");
String text= element.text();
System.out.println("我是得到图片的地址。。。。"+text+src);
}
//  doc.select("div.pic").select("img[src$=.jpg]");// 所有引用 png 图片的元素
 Elements moviename=doct.select("div.itemlist").select("a.title");//得到电影名字
 //System.out.println("moviename。。。。。。。。。。。"+moviename);
 for (Element element : moviename) {
 String text=element.text();
 System.out.println("我是电影名。。。。"+text);
}
 //  得到演员列表   有点复杂   先放着。。。。。。。。。。。
 
 Elements actor= doct.select("a.actorName");
 for (Element element : actor) {
String text= element.text();
System.out.println("演员。。。。。。。。。。。"+text);
}
 System.out.println("..................");
 Elements area= doct.select("span.actorSplitToken").select("div.ext_info").select("span.ext_area");//地区
System.out.println("地区。area。。"+area);

 for (Element element : area) {
String text=element.text();
System.out.println("地区。。。"+text);
}
 Elements time= doct.select("span.year"+" "+"clearfix");//时间
 
 for (Element element : time) {
String text=element.text();
System.out.println("时间。。。"+text);
}
 Elements type= doct.select("p.twocol-wrapper clearfix").select("span.type clearfix");//类型
 //System.out.println("类型。。。"+type);
 for (Element element : area) {
String text=element.text();
System.out.println("类型。。。"+text);
}
  
  
  } catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
} --------------------编程问答-------------------- public class httpclient {
public static void main(String[] args) {
String html="http://v.hao123.com/movie/index/lx-aq";
System.out.println(html+".............");
Document  doc=Jsoup.parse(html);
System.out.println(doc+".....doc........");
  try {
  Document  doct=Jsoup.connect(html).get();
  System.out.println(doct+"......doct.......");
 String title= doct.title();
 System.out.println(title+"......title.......");
 Jsoup.connect(html).data("query", "java")//请求参数
 .userAgent("I ’ m jsoup")//设置
 .cookie("auth", "token")//
 .timeout(3000)//设置连接超时时间
 .post(); //使用post方法访问url
 // 得到:<meta name="Keywords" content="电影频道,视频下载,体育视频,在线视频,免费视频,自拍,视频教学,网络视频"/>
 //Element  connect= doc.getElementById("content");
 Elements  address= doct.select("p.provide provider clearfix").select("a[href]");
 for (Element element : address) {
 String href=element.attr("href");
 String text=element.text();
 System.out.println("我是。。。。href的连接地址"+text+href);
}
/* 我想的是得到地址然后再下载会很麻烦的     写个下载功能 逐个下载到本地。。麻烦
 *  有人提议用httpclient 来抓取网页和图片
 * 这个问题暂时保留????????
 */
 Elements pic= doct.select("span.image").select("img[src]");// 所有引用 png 图片的元素
 for (Element element : pic) {
 String src=element.attr("src");
String text= element.text();
System.out.println("我是得到图片的地址。。。。"+text+src);
}
//  doc.select("div.pic").select("img[src$=.jpg]");// 所有引用 png 图片的元素
 Elements moviename=doct.select("div.itemlist").select("a.title");//得到电影名字
 //System.out.println("moviename。。。。。。。。。。。"+moviename);
 for (Element element : moviename) {
 String text=element.text();
 System.out.println("我是电影名。。。。"+text);
}
 //  得到演员列表   有点复杂   先放着。。。。。。。。。。。
 
 Elements actor= doct.select("a.actorName");
 for (Element element : actor) {
String text= element.text();
System.out.println("演员。。。。。。。。。。。"+text);
}
 System.out.println("..................");
 Elements area= doct.select("span.actorSplitToken").select("div.ext_info").select("span.ext_area");//地区
System.out.println("地区。area。。"+area);

 for (Element element : area) {
String text=element.text();
System.out.println("地区。。。"+text);
}
 Elements time= doct.select("span.year"+" "+"clearfix");//时间
 
 for (Element element : time) {
String text=element.text();
System.out.println("时间。。。"+text);
}
 Elements type= doct.select("p.twocol-wrapper clearfix").select("span.type clearfix");//类型
 //System.out.println("类型。。。"+type);
 for (Element element : area) {
String text=element.text();
System.out.println("类型。。。"+text);
}
  
  
  } catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
} --------------------编程问答-------------------- 我有jsoup的pdf文档,里面有详细的用法,你要不?它的语法和jquery差不多 --------------------编程问答-------------------- 多谢各位的指点了,我后来用了HtmlParser,效果还是不错
补充:Java ,  非技术区
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,