jsoup的maven依赖及jsoup解析html获取Element的数据(demo)

jsoup的maven依赖:
jar包下载地址:http://note.youdao.com/noteshare?id=c2444dc21b286006fb9027683f2a5053

<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.7.3</version>
</dependency>

package com.success.project;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import com.alibaba.druid.support.logging.Log;
import com.alibaba.druid.support.logging.LogFactory;

public class TestJsoupParseHtml {
    private static final  Log log = LogFactory.getLog(Test.class);
    public static void main(String[] args) {
        System.out.println("helloworld");
        String url = "http://hotels.ctrip.com/hotel/beijing1/location94#ctm_ref=hod_hp_sb_lst";
        String encoding ="utf-8";
        String html = getHTMLResourceByUrl(url,encoding);
        System.out.println(html);//输出html
        String fengzhuang = Fengzhuang(html,encoding);
        System.out.println(fengzhuang);
    }
    public static String Fengzhuang(String html,String encoding ){
        Document parse = null; 
        List<Map<String,String>> list = new ArrayList<Map<String,String>>();
        //解析html,按照什么编码进行解析html
         parse = Jsoup.parse(html,encoding);
         Element elementById = parse.getElementById("hotel_list");
         Elements elementsByClass = elementById.getElementsByClass("searchresult_list");
         for (Element element : elementsByClass) {
        Map<String,String> map = new HashMap<String,String>();
             //获取酒店的图片
            String imgSrc = element.getElementsByTag("img").attr("src");
            //获取酒店title
            String title = element.getElementsByTag("ima").attr("alt");
            //获取酒店的描述信息
          String desc = element.getElementsByClass("searchresult_htladdress").text();
          map.put("imgSrc", imgSrc);
          map.put("title",title);
          map.put("desc",desc);
          list.add(map);
         }
         return list.toString();
    }
    //获取html
    public static String getHTMLResourceByUrl(String url,String encoding){
        StringBuffer sb = new StringBuffer();
        URL urlObj =null;
        URLConnection openConnection =null;
        InputStreamReader isr = null;
        BufferedReader br = null;
        try {
             urlObj = new URL(url);
            openConnection = urlObj.openConnection();
            isr = new InputStreamReader(openConnection.getInputStream(),encoding);
            //建立文件缓冲流
             br = new BufferedReader(isr);
            //建立临时文件
            String temp = null;
            while((temp=br.readLine())!=null){
                sb.append(temp+"\n");
            }
        } catch (MalformedURLException e) {
            // TODO Auto-generated catch block
            log.error("error message", e);
        } catch (IOException e) {
            // TODO Auto-generated catch block
            log.error("error message", e);
        }finally{
            try {
                if(isr !=null){
                    isr.close();
                }
            } catch (IOException e) {
                // TODO Auto-generated catch block
                log.error("error message", e);
            }
        }
        return sb.toString();
    }
    
}

测试结果:

[{title=, imgSrc=http://dimg12.c-ctrip.com/images/hotel/128000/127522/43427c590bc342fdb5fb6ca19b6abdf2_R_130_130.jpg, desc=朝阳区酒仙桥北路9号荧屏里4号,近酒仙桥路。 【 望京、酒仙桥、798地区】}, {title=, imgSrc=http://dimg13.c-ctrip.com/images/200u070000002izr2FE01_R_130_130.jpg, desc=朝阳区酒仙桥路13号,近望京SOHO,望京国际商业中心,798艺术区。 【 望京、酒仙桥、798地区】}, {title=, imgSrc=http://dimg13.c-ctrip.com/images/fd/hotel/g5/M08/8C/C1/CggYsFcrF_GAZHusAEAz_YYcL3E922_R_130_130.jpg, desc=朝阳区北苑路200号安苑东里三区10号院6号楼,近安苑路。 【 亚运村、奥体中心地区】}, {title=, imgSrc=http://dimg10.c-ctrip.com/images/hotel/83000/82458/2eed25257045479499c6aed8ab3c49db_R_130_130.jpg, desc=朝阳区建国门外永安里中街25号2幢,近永安里地铁站。 【 北京站、建国门地区】}, {title=, imgSrc=http://dimg13.c-ctrip.com/images/200r050000000rygh9993_R_130_130.jpg, desc=朝阳区新源西里东街6号楼,近新东路口。 【 东直门、工体、雍和宫地区 燕莎、三里屯商业区】}, {title=, imgSrc=http://dimg12.c-ctrip.com/images/hotel/109000/108346/4b334f9eaebb4530bf30f8cef4f4d1c8_R_130_130.jpg, desc=朝阳区小黄庄北街2号2幢,近地铁5号线和平西桥站。 【 马甸、安贞地区】}, {title=, imgSrc=http://dimg13.c-ctrip.com/images/fd/hotel/g2/M02/E1/50/Cghzf1TPQVmAKfGwABNnbBtlWA8846_R_130_130.jpg, desc=朝阳区酒仙桥彩虹路798北门,近酒仙桥北路。 【 望京、酒仙桥、798地区】}, {title=, imgSrc=http://dimg13.c-ctrip.com/images/hotel/140000/139379/0165E24A503F416A81EC81545F993747_R_130_130.Jpg, desc=朝阳区静安里30号,近中国国际展览中心。 【 国展中心地区】}, {title=, imgSrc=http://dimg11.c-ctrip.com/images/fd/hotel/g1/M07/E2/EB/CghzfVS405uAGRNpAAEsvt174L4590_R_130_130.jpg, desc=朝阳区霄云路霞光里30号院6号楼。 【 燕莎、三里屯商业区】}, {title=, imgSrc=http://dimg12.c-ctrip.com/images/fd/hotel/g5/M04/8C/99/CggYsVcrDxSAPqEEADgEutlyRds555_R_130_130.jpg, desc=朝阳区农光东里34号楼,近劲松桥。 【 劲松、潘家园地区】}, {title=, imgSrc=http://dimg11.c-ctrip.com/images/fd/hotel/g4/M04/8D/74/CggYHFYtiVqAIy4KAAD17Zgk6nk251_R_130_130.jpg, desc=朝阳区广渠路15号金茂府23号院7号楼,近东四环大郊亭桥西北角。 【 国贸地区】}, {title=, imgSrc=http://dimg13.c-ctrip.com/images/fd/hotel/g5/M08/91/28/CggYsVcrHJOAID85ADJRAML-1SM223_R_130_130.jpg, desc=朝阳区望京湖光中街8号,近南湖南路。 【 望京、酒仙桥、798地区】}, {title=, imgSrc=http://dimg11.c-ctrip.com/images/200u050000000s3nk9EE3_R_130_130.jpg, desc=朝阳区西大望南路南口周庄嘉园南里1号楼,临近弘燕路路口。 【 劲松、潘家园地区】}, {title=, imgSrc=http://dimg13.c-ctrip.com/images/fd/hotel/g6/M02/CB/C2/CggYtFcxG4eALX5SAAHd53oTmSU782_R_130_130.jpg, desc=朝阳区新东路8号首开铂郡南区4号楼1门三层170房间,近幸福三村四巷。 【 东直门、工体、雍和宫地区】}, {title=, imgSrc=http://dimg13.c-ctrip.com/images/200b060000001xgcj7010_R_130_130.jpg, desc=朝阳区东直门外大街28号港湾国际16层,近春秀路路口。 【 东直门、工体、雍和宫地区】}, {title=, imgSrc=http://dimg10.c-ctrip.com/images/fd/hotel/g3/M03/56/47/CggYG1X4j5KAI9oFAAKbsgTNU-k330_R_130_130.jpg, desc=朝阳区东四环红领巾桥东400米,路北50米,近十里堡地铁站。 【 燕莎、三里屯商业区 国贸地区】}, {title=, imgSrc=http://dimg12.c-ctrip.com/images/200o070000002rvo41255_R_130_130.jpg, desc=朝阳区东三环北路8号,近农展馆。 【 燕莎、三里屯商业区】}, {title=, imgSrc=http://dimg10.c-ctrip.com/images/t1/hotel/86000/85893/eeafbfdd4fcc4df1b617e50a8c544c9e_R_130_130.jpg, desc=朝阳区霄云路26号,近天泽路。 【 燕莎、三里屯商业区】}, {title=, imgSrc=http://dimg13.c-ctrip.com/images/t1/hotel/1287000/1286149/888f353e11424c9da1360ced3c317a48_R_130_130.jpg, desc=朝阳区建国门南大街2号,近建外大街。 【 北京站、建国门地区 国贸地区】}, {title=, imgSrc=http://dimg10.c-ctrip.com/images/hotel/375000/374421/3412b6d6ccce488188185fb699bb26e5_R_130_130.jpg, desc=朝阳区亮马桥路48号,近燕莎桥。 【 燕莎、三里屯商业区 东直门、工体、雍和宫地区】}, {title=, imgSrc=http://dimg10.c-ctrip.com/images/t1/hotel/1199000/1198300/db2629b825574329842aaaa89f28e146_R_130_130.jpg, desc=朝阳区呼家楼京广中心,近京广桥。 【 国贸地区】}, {title=, imgSrc=http://dimg10.c-ctrip.com/images/hotel/20000/19267/4d01b49ad91245cd97f4c55f4569d680_R_130_130.jpg, desc=朝阳区北四环中路华严北里8号,健翔桥辅路东南侧。 【 亚运村、奥体中心地区】}, {title=, imgSrc=http://dimg10.c-ctrip.com/images/hotel/397000/396423/77d4c05c5f114ab59e8cab81d77a132c_R_130_130.jpg, desc=朝阳区新源南路2号,燕莎友谊商城正对面。 【 燕莎、三里屯商业区 国展中心地区】}, {title=, imgSrc=http://dimg13.c-ctrip.com/images/2009050000000ysv59652_R_130_130.jpg, desc=朝阳区亮马桥路50号,近燕莎友谊商城。 【 燕莎、三里屯商业区】}, {title=, imgSrc=http://dimg12.c-ctrip.com/images/t1/hotel/1000/26/76e4fb4dc72344fcb6024390fe9305a7_R_130_130.jpg, desc=朝阳区北辰东路8号,奥林匹克中心对面。 【 亚运村、奥体中心地区】}, {title=, imgSrc=, desc=}]
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 151,511评论 1 330
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 64,495评论 1 273
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 101,595评论 0 225
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 42,558评论 0 190
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 50,715评论 3 270
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 39,672评论 1 192
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,112评论 2 291
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 29,837评论 0 181
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 33,417评论 0 228
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 29,928评论 2 232
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,316评论 1 242
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 27,773评论 2 234
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,253评论 3 220
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 25,827评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,440评论 0 180
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 34,523评论 2 249
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 34,583评论 2 249

推荐阅读更多精彩内容