锁定老帖子 主题:DOM4HTML(W3C标准实现)源代码
精华帖 (0) :: 良好帖 (0) :: 新手帖 (5) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2010-02-26
最后修改:2010-03-02
测试代码——提取网页中的<a...></a>标签的href路径,拿google做试验。 运行环境:JDK1.6以上 package org.zergle.w3c.html.lex; import java.io.IOException; import java.net.URL; import org.junit.Test; import org.w3c.dom.Document; import org.w3c.dom.NamedNodeMap; import org.w3c.dom.Node; import org.w3c.dom.NodeList; import org.w3c.html.HTMLReader; public class TestHTMLReader { @Test public void testReadDocument() { try { HTMLReader reader = new HTMLReader(new URL("http://g.cn")); Document doc = reader.readDocument(); NodeList links = doc.getElementsByTagName("A"); for (int i = 0; i < links.getLength(); i++) { Node node = links.item(i); if (node.hasAttributes()) { NamedNodeMap attrs = node.getAttributes(); Node attr = attrs.getNamedItem("href"); if (attr != null) { System.out.println(attr.getNodeValue()); } } } } catch (IOException e) { e.printStackTrace(); } } } 打印结果如下: http://images.google.cn/imghp?hl=zh-CN&tab=wi http://video.google.cn/?hl=zh-CN&tab=wv http://ditu.google.cn/maps?hl=zh-CN&tab=wl http://news.google.cn/nwshp?hl=zh-CN&tab=wn http://www.google.cn/music?hl=zh-CN&tab=wU http://wenda.tianya.cn/wenda/?hl=zh-CN&tab=wH http://laiba.tianya.cn/laiba/Top?hl=zh-CN&tab=wG http://www.google.cn/intl/zh-CN/options/ /url?sa=p&pref=ig&pval=3&q=http://www.google.cn/ig/china%3Fsource%3Diglk%26hl%3Dzh-CN&usg=AFQjCNE-fPlHBZ4IREs-KKjdCDT7u-BkSw /preferences?hl=zh-CN http://www.google.cn/search?hl=zh-CN&source=hp&q=%E6%B8%A9%E5%93%A5%E5%8D%8E2010%E5%B9%B4&btnG=Google+%E6%90%9C%E7%B4%A2&aq=f&oq= /advanced_search?hl=zh-CN /language_tools?hl=zh-CN /aclk?sa=L&ai=COHUX_MSHS5GGJIe67APZ1YGdDpvhip8Bm4Dy4w_B2ZzZExABIMFUUKzQj4ACYJ0BqgRyT9AXyubQppSOik1N2jZLTzgNFf3oSk8zeN1r_qfnCXmWa95EK5nQAF8KhR8_PxBB7L2gUqR7D10BXJmEPwgB8cBEKsMWJvi_SmOCdtdATchCbNwyBAsjlJq93Brvc55n5_CuvjrNk2N2w3J2fz0Z1Vra&num=1&sig=AGiWqtz_TF-ZN5OkAn_lszxgyfq_UXUFew&q=http://www.google.com/intl/zh-CN/landing/games10/index.html%23utm_campaign%3Dzh-CN%26utm_medium%3Dhpp%26utm_source%3Dhpp-na-us-gns-svn /intl/zh-CN/ads/ /intl/zh-CN/about.html http://www.google.com/ncr /intl/zh-CN/privacy.html http://www.miibeian.gov.cn/ 由于刚刚完成,没有经过严格测试,如果哪位朋友发现BUG的,请与我联系。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2010-02-27
感觉名字应该叫html-dom4j
|
|
返回顶楼 | |
发表时间:2010-02-27
Zahir 写道 感觉名字应该叫html-dom4j
呵呵,html-dom4j这个名称也不错。 |
|
返回顶楼 | |
发表时间:2010-03-01
lz试过NekoHtmlParser么?
|
|
返回顶楼 | |
发表时间:2010-03-01
我用正则做过
|
|
返回顶楼 | |
发表时间:2010-03-02
shadowlin 写道 lz试过NekoHtmlParser么?
NekoHtmlParser没看过,不过研究过HtmlParser这个开源HTML解析库,它不是用的编译原理的思想来做的,它没有词法分析的过程。不过要想做得好,还是得集百家之长,取人之长补己之短。 |
|
返回顶楼 | |
发表时间:2010-03-02
andsofish 写道 我用正则做过
刚开始写的爬虫,我是用正则做的,也不是说正则不好,正则多了,改起来,自己都看晕了,好长一大串,我写这个完成是为了爬虫的高度可定制性而出发的,我个人觉得用正则还是有点局限性。 |
|
返回顶楼 | |
发表时间:2010-03-02
最新的dom4html我已经放到Google的SVN服务器上去了
在这里下载:svn checkout http://dom4html.googlecode.com/svn/trunk/ dom4html-read-only |
|
返回顶楼 | |
发表时间:2010-03-02
最后修改:2010-03-02
johnson.lee 写道 最近在写一个爬虫程序,需要分析HTML,网上开源的HTML分析库也不少,为了挑战一下,自己写了一个。
试试Tika。 |
|
返回顶楼 | |
发表时间:2010-03-02
johnson.lee 写道 andsofish 写道 我用正则做过
刚开始写的爬虫,我是用正则做的,也不是说正则不好,正则多了,改起来,自己都看晕了,好长一大串,我写这个完成是为了爬虫的高度可定制性而出发的,我个人觉得用正则还是有点局限性。 |
|
返回顶楼 | |