求教用Jsoup解析HMTL编码

super2012cz 2011-09-22 10:58:42
网上说jsoup 是一款 Java 的HTML 解析器,可直接解析某个URL地址、HTML文本内容,然后给出了部分代码。但是我并不知道这个解析器具体是怎么加载,怎么用的,求大神指教啊!(PS:最好是有完整的代码,并且具体说一下Jsoup的使用)
...全文
371 点赞 收藏 4
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
super2012cz 2012-11-29
多谢各位的指点了,我后来用了HtmlParser,效果还是不错
回复
fannifan 2012-06-29
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();
}
}
}
回复
fannifan 2012-06-29
我自己写的一段代码。。。。。现在还遇到点问题没有解决 但是可以供你参考 可以正常运行。。。。。。

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();
}
}
}
回复
statichu2 2012-06-29
我有jsoup的pdf文档,里面有详细的用法,你要不?它的语法和jquery差不多
回复
相关推荐
发帖
非技术区
创建于2007-09-28

2.3w+

社区成员

Java 非技术区
申请成为版主
帖子事件
创建了帖子
2011-09-22 10:58
社区公告
暂无公告