當前位置: 首頁>>代碼示例>>Java>>正文


Java Parser.setEncoding方法代碼示例

本文整理匯總了Java中org.htmlparser.Parser.setEncoding方法的典型用法代碼示例。如果您正苦於以下問題:Java Parser.setEncoding方法的具體用法?Java Parser.setEncoding怎麽用?Java Parser.setEncoding使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在org.htmlparser.Parser的用法示例。


在下文中一共展示了Parser.setEncoding方法的6個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: extractKeyWordText

import org.htmlparser.Parser; //導入方法依賴的package包/類
public static void extractKeyWordText(String url, String keyword) {
	try {
		// 生成一個解析器對象,用網頁的 url 作為參數
		Parser parser = new Parser(url);
		// 設置網頁的編碼,這裏隻是請求了一個 gb2312 編碼網頁
		parser.setEncoding("utf-8");// gb2312
		// 迭代所有節點, null 表示不使用 NodeFilter
		NodeList list = parser.parse(null);
		// 從初始的節點列表跌倒所有的節點
		processNodeList(list, keyword);
	} catch (ParserException e) {
		e.printStackTrace();
	}
}
 
開發者ID:YufangWoo,項目名稱:news-crawler,代碼行數:15,代碼來源:HtmlParserTest.java

示例2: getHtmlRoot

import org.htmlparser.Parser; //導入方法依賴的package包/類
/**
 * Get HTML root element as node list
 * 
 * @param html
 * @return
 */
public static NodeList getHtmlRoot(String html) {
	Parser parser = new Parser(new Lexer(html));
	try {
		parser.setEncoding("UTF-8");
		return parser.parse(null);
	} catch (ParserException e) {
		System.err.println(e.getMessage());
		return null;
	}
}
 
開發者ID:javajoker,項目名稱:infoecos,代碼行數:17,代碼來源:HtmlUtil.java

示例3: extracLinks

import org.htmlparser.Parser; //導入方法依賴的package包/類
/**
 * 獲取一個網站上的a鏈接
 * @param url
 * @return
 */
public static Set<String> extracLinks(String url) {
    Set<String> links = new HashSet<String>();

    try {
        Parser parser = new Parser(url);
        parser.setEncoding("utf-8");
        // 過濾 <frame >標簽的 filter,用來提取 frame 標簽裏的 src 屬性所表示的鏈接
        @SuppressWarnings("serial")
        NodeFilter frameFilter = new NodeFilter() {
            public boolean accept(Node node) {
                if (node.getText().startsWith("frame src=")) {
                    return true;
                } else {
                    return false;
                }
            }
        };
        // OrFilter 來設置過濾 <a> 標簽,和 <frame> 標簽
        OrFilter linkFilter = new OrFilter(new NodeClassFilter(LinkTag.class), frameFilter);
        // 得到所有經過過濾的標簽
        NodeList list = parser.extractAllNodesThatMatch(linkFilter);
        for (int i = 0; i < list.size(); i++) {
            Node tag = list.elementAt(i);
            if (tag instanceof LinkTag) {
                // <a> 標簽
                LinkTag link = (LinkTag) tag;
                String linkUrl = link.getLink();
                links.add(linkUrl);
            } else {
                // 提取 frame 裏 src 屬性的鏈接如 <frame src="test.html"/>
                String frame = tag.getText();
                int start = frame.indexOf("src=");
                frame = frame.substring(start);
                int end = frame.indexOf(" ");
                if (end == -1) {
                    end = frame.indexOf(">");
                }
                String frameUrl = frame.substring(5, end - 1);
                links.add(frameUrl);
            }
        }
    } catch (ParserException e) {
        logger.error("", e);
    }
    return links;
}
 
開發者ID:xuxueli,項目名稱:xxl-incubator,代碼行數:52,代碼來源:HtmlParserUtil.java

示例4: extracLinks

import org.htmlparser.Parser; //導入方法依賴的package包/類
public static Set<String> extracLinks(String url, LinkFilter filter) {
	Set<String> links = new HashSet<String>();
	try{
		Parser parser = new Parser(url);
		parser.setEncoding("gb2312");
		// <frame >
		@SuppressWarnings("serial")
		NodeFilter frameFilter = new NodeFilter(){
			public boolean accept(Node node){
				if (node.getText().startsWith("frame src=")){
					return true;
				} 
				else{
					return false;
				}
			}
		};
		//<a><frame>
		OrFilter linkFilter = new OrFilter(new NodeClassFilter(
				LinkTag.class), frameFilter);
		NodeList list = parser.extractAllNodesThatMatch(linkFilter);
		for (int i = 0; i < list.size(); i++) {
			Node tag = list.elementAt(i);
			if (tag instanceof LinkTag){// <a>
				LinkTag link = (LinkTag) tag;
				String linkUrl = link.getLink();
				if (filter.accept(linkUrl))
					links.add(linkUrl);
			} 
			else{
				String frame = tag.getText();
				int start = frame.indexOf("src=");
				frame = frame.substring(start);
				int end = frame.indexOf(" ");
				if (end == -1)
					end = frame.indexOf(">");
				String frameUrl = frame.substring(5, end - 1);
				if (filter.accept(frameUrl))
					links.add(frameUrl);
			}
		}
		System.out.println(links);
	} catch (ParserException e){
		e.printStackTrace();
	}
	return links;
}
 
開發者ID:MelissaChen15,項目名稱:Crawler2015,代碼行數:48,代碼來源:HtmlParserTool.java

示例5: extracLinks

import org.htmlparser.Parser; //導入方法依賴的package包/類
public static void extracLinks(String url) {
	try {
		Parser parser = new Parser(url);
		parser.setEncoding("utf-8");// gb2312
		// 過濾 <frame> 標簽的 filter,用來提取 frame 標簽裏的 src 屬性所、表示的鏈接
		NodeFilter frameFilter = new NodeFilter() {
			public boolean accept(Node node) {
				if (node.getText().startsWith("frame src=")) {
					return true;
				} else {
					return false;
				}
			}
		};
		// OrFilter 來設置過濾 <a> 標簽,<img> 標簽和 <frame> 標簽,三個標簽是 or 的關係
		OrFilter orFilter = new OrFilter(
				new NodeClassFilter(LinkTag.class), new NodeClassFilter(
						ImageTag.class));
		OrFilter linkFilter = new OrFilter(orFilter, frameFilter);
		// 得到所有經過過濾的標簽
		NodeList list = parser.extractAllNodesThatMatch(linkFilter);
		for (int i = 0; i < list.size(); i++) {
			Node tag = list.elementAt(i);
			if (tag instanceof LinkTag)// <a> 標簽
			{
				LinkTag link = (LinkTag) tag;
				String linkUrl = link.getLink();// url
				String text = link.getLinkText();// 鏈接文字
				System.out.println(linkUrl + "**********" + text);
			} else if (tag instanceof ImageTag)// <img> 標簽
			{
				ImageTag image = (ImageTag) list.elementAt(i);
				System.out.print(image.getImageURL() + "********");// 圖片地址
				System.out.println(image.getText());// 圖片文字
			} else// <frame> 標簽
			{
				// 提取 frame 裏 src 屬性的鏈接如 <frame src="test.html"/>
				String frame = tag.getText();
				int start = frame.indexOf("src=");
				frame = frame.substring(start);
				int end = frame.indexOf(" ");
				if (end == -1)
					end = frame.indexOf(">");
				frame = frame.substring(5, end - 1);
				System.out.println(frame);
			}
		}
	} catch (ParserException e) {
		e.printStackTrace();
	}
}
 
開發者ID:YufangWoo,項目名稱:news-crawler,代碼行數:52,代碼來源:HtmlParserTest.java

示例6: extracLinks

import org.htmlparser.Parser; //導入方法依賴的package包/類
public Set<String> extracLinks(PageResult pageResult, LinkFilter filter) {
	//String url=crawlUrl.getOriUrl();
	Set<String> links = new HashSet<String>();
	try {
		Parser parser = new Parser(pageResult.getContent());
		
		parser.setEncoding(pageResult.getCharSet());
		
		// 過濾 <frame >標簽的 filter,用來提取 frame 標簽裏的 src 屬性所表示的鏈接
		NodeFilter frameFilter = new NodeFilter() {
			public boolean accept(Node node) {
				if (node.getText().startsWith("frame src=")) {
					return true;
				} else {
					return false;
				}
			}
		};
		// OrFilter 來設置過濾 <a> 標簽,和 <frame> 標簽
		OrFilter linkFilter = new OrFilter(new NodeClassFilter(
				LinkTag.class), frameFilter);
		// 得到所有經過過濾的標簽
		NodeList list = parser.extractAllNodesThatMatch(linkFilter);
		for (int i = 0; i < list.size(); i++) {
			Node tag = list.elementAt(i);
			if (tag instanceof LinkTag)// <a> 標簽
			{
				LinkTag link = (LinkTag) tag;
				String linkUrl = link.getLink();// url
				if (filter.accept(linkUrl))
				{
					//CrawlUrl crawlUrl=CrawlUrlUtil.getCrawlUrlByUrl(linkUrl);
					links.add(linkUrl);
				}
					
			} else// <frame> 標簽
			{
				// 提取 frame 裏 src 屬性的鏈接如 <frame src="test.html"/>
				String frame = tag.getText();
				int start = frame.indexOf("src=");
				frame = frame.substring(start);
				int end = frame.indexOf(" ");
				if (end == -1)
					end = frame.indexOf(">");
				String frameUrl = frame.substring(5, end - 1);
				if (filter.accept(frameUrl))
				{
					//CrawlUrl crawlUrl=CrawlUrlUtil.getCrawlUrlByUrl(frameUrl);
					links.add(frameUrl);
				}
					
			}
		}
	} catch (ParserException e) {
		e.printStackTrace();
	}
	return links;
}
 
開發者ID:hxt168,項目名稱:webpasser,代碼行數:59,代碼來源:DefaultHtmlParser.java


注:本文中的org.htmlparser.Parser.setEncoding方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。