java 板


LINE

http://htmlparser.sourceforge.net 最近一直在作处理网页的东西 抓远端的网页,原本是用 HttpURLConnection.getInputStream() BufferedReader br = new BufferedReader( new InputStreamReader(connection.getInputStream(), encoding) ); String tmp; while( (tmp=bis.readLine()) != null ){ //存档 or 塞 StringBuffer } bis.close(); 存档之後,在用 htmlparser 去 parser 一些想要的东西 例如范例给的,抓 link(<a> 的 href, <link> 等等) //准备 Parser Page page = new Page(html, encode); Lexer lexer = new Lexer(page); Parser parser = new Parser(lexer); parser.setEncoding(encode); //开始处理 ObjectFindingVisitor visitor = new ObjectFindingVisitor(LinkTag.class); parser.visitAllNodesWith(visitor); ArrayList<String> tmp = new ArrayList(); for(int i=0; i<visitor.getCount(); i++){ if(((LinkTag)(visitor.getTags()[i])).isHTTPLink()){ tmp.add(((LinkTag)(visitor.getTags()[i])).getLink()); } } String[] result = new String[tmp.size()]; tmp.toArray(result); 在大多数情况下,日子也还过得去... [茶] 不过,有一些网页,用 HttpURLConnection.getInputStream() 是不行的 最残忍的例子就是 google search result http://www.google.com/search?hl=zh-TW&q=htmlparser 我先用过 apache 的 HttpClient,发现他是可以的 [晕] 可是,我又不是要处理 post 的网页,用那个太麻烦 XD 後来看到 HtmlParser 有 Site Capturer 的范例 嗯... 虽然就砍站的效果而言,很糟糕 不过... 抓得下来耶... \囧/ (还没有去查原因,还请高手顺带指点 \囧/) 翻了一下原始码,他是这样子搞的 PrintWriter out = new PrintWriter(new FileOutputStream(file)); for (NodeIterator e = parser.elements(); e.hasMoreNodes();){ out.print(e.nextNode().toHtml()); } out.close(); 啧啧,居然来这招... 而且还不用管编码 (目前还没 try 出问题就是了) 另外一个... 发现... 就是用 Parser.reset(),就可以重复使用同一个 parser 之前不知道,就... [殴飞] 耍白痴完毕... [逃] -- 侃侃长论鲜窒碍 首页:http://www.psmonkey.idv.tw 众目睽睽无心颤 Blog:http://ps-think.blogspot.com 茕居少聊常人事 杀头容易告白难 欢迎参观 Java 版(@ptt.cc) \囧/ --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.228.193.251







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:e-shopping站内搜寻

TOP