DOM4HTML(W3C标准实现)源代码

最近在写一个爬虫程序,需要分析HTML,网上开源的HTML分析库也不少,为了挑战一下,自己写了一个。

测试代码——提取网页中的<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=&#37;E6&#37;B8&#37;A9&#37;E5&#37;93&#37;A5&#37;E5&#37;8D&#37;8E2010&#37;E5&#37;B9&#37;B4&btnG=Google+&#37;E6&#37;90&#37;9C&#37;E7&#37;B4&#37;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的,请与我联系。

你可能感兴趣的:(html,SVN,Google,JUnit,HP)