htmlparser操作bean类提取html页面元素
生活随笔
收集整理的這篇文章主要介紹了
htmlparser操作bean类提取html页面元素
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
HtmlParser對Visitor和Filter的方法進行了封裝,定義了針對一些常用html元素操作的bean,簡化對常用元素的提取操作。包括:FilterBean、HTMLLinkBean、HTMLTextBean、LinkBean、StringBean、BeanyBaby等。這里給出LinKBean和StringBean的源碼:
1、LinkBean代碼
import java.net.URL; import java.util.HashSet; import java.util.Set;import org.htmlparser.Node; import org.htmlparser.NodeFilter; import org.htmlparser.Parser; import org.htmlparser.beans.LinkBean; import org.htmlparser.filters.NodeClassFilter; import org.htmlparser.filters.OrFilter; import org.htmlparser.tags.ImageTag; import org.htmlparser.tags.LinkTag; import org.htmlparser.util.NodeList; import org.htmlparser.util.ParserException;public class UrlFilter {//LinkBean類使用 public Set<String> LinkBean(String src,String urlFilters) throws Exception { Set<String> links = new HashSet<String>();LinkBean linkBean = new LinkBean(); linkBean.setURL(src); URL[] urls = linkBean.getLinks(); for (int i = 0; i < urls.length; i++) { String url=urls[i].toString();String[] UrlFilters=urlFilters.trim().split(",");for (String urlFilter : UrlFilters)if(url.startsWith(urlFilter)) links.add(url);} return links;} public static void main(String[]args) throws Exception{UrlFilter uf=new UrlFilter();String strUrlFilters="https://www.rizhiyi.com";Set<String> links=uf.LinkBean("https://www.rizhiyi.com/",strUrlFilters);for(String link:links)System.out.println(link);} }2、StringBean代碼
import java.net.URL; import org.htmlparser.Node; import org.htmlparser.Parser; import org.htmlparser.beans.StringBean; import org.htmlparser.util.NodeList; import org.htmlparser.util.ParserException; import org.htmlparser.util.SimpleNodeIterator;import sp.SslUtils;public class UrlParser {* 根據(jù)提供的URL,獲取此URL對應(yīng)網(wǎng)頁的純文本信息 * @param url 提供的URL鏈接 * @return RL對應(yīng)網(wǎng)頁的純文本信息 * @throws Exception */ public String getText(String url)throws Exception{ StringBean sb = new StringBean ();sb.setLinks (false);sb.setReplaceNonBreakingSpaces(true);sb.setCollapse(true);Parser parser = new Parser (url);parser.setEncoding("UTF-8");parser.reset ();parser.visitAllNodesWith (sb);String text = sb.getStrings ();return text; } public static void main(String[]args) throws Exception{UrlParser fd=new UrlParser();try {String str=fd.getText("https://www.rizhiyi.com/");System.out.println(str);} catch (ParserException e) {// TODO Auto-generated catch blocke.printStackTrace();}} }
總結(jié)
以上是生活随笔為你收集整理的htmlparser操作bean类提取html页面元素的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: htmlparser解决PKIX pat
- 下一篇: htmlparser解析网页内容代码