从网页中获取有用的信息 html2text

这个工具蛮好用的哈,如果你想从其他网页中抓取一些有用的信息 比如文章 新闻之类的
  1. import java.util.regex.Pattern;
  2. import org.apache.log4j.Logger;
  3. /**
  4.  * 来自互联网  过滤html css标签测试通过
  5.  * @author shuchao
  6.  *
  7.  */
  8. public class Html2Text {
  9.     protected static Logger log = Logger.getLogger(Html2Text.class);
  10.     public  static String html2Text(String inputString) {    
  11.           String htmlStr = inputString; //含html标签的字符串    
  12.           String textStr ="";    
  13.           java.util.regex.Pattern p_script;    
  14.           java.util.regex.Matcher m_script;    
  15.           java.util.regex.Pattern p_style;    
  16.           java.util.regex.Matcher m_style;    
  17.           java.util.regex.Pattern p_html;    
  18.           java.util.regex.Matcher m_html;    
  19.               
  20.           try {    
  21.            String regEx_script = "<[//s]*?script[^>]*?>[//s//S]*?<[//s]*?///[//s]*?script[//s]*?>"//定义script的正则表达式
  22. //{<script[^>]*?>[//s//S]*?<///script> }    
  23.            String regEx_style = "<[//s]*?style[^>]*?>[//s//S]*?<[//s]*?///[//s]*?style[//s]*?>"//定义style的正则表达式
  24. //{或<style[^>]*?>[//s//S]*?<///style> }    
  25.               String regEx_html = "<[^>]+>"//定义HTML标签的正则表达式    
  26.                
  27.               p_script = Pattern.compile(regEx_script,Pattern.CASE_INSENSITIVE);    
  28.               m_script = p_script.matcher(htmlStr);    
  29.               htmlStr = m_script.replaceAll(""); //过滤script标签    
  30.        
  31.               p_style = Pattern.compile(regEx_style,Pattern.CASE_INSENSITIVE);    
  32.               m_style = p_style.matcher(htmlStr);    
  33.               htmlStr = m_style.replaceAll(""); //过滤style标签    
  34.                
  35.               p_html = Pattern.compile(regEx_html,Pattern.CASE_INSENSITIVE);    
  36.               m_html = p_html.matcher(htmlStr);    
  37.               htmlStr = m_html.replaceAll(""); //过滤html标签    
  38.                
  39.            textStr = htmlStr;    
  40.                
  41.           }catch(Exception e) {    
  42.               log.error("Html2Text: " + e.getMessage());    
  43.           }    
  44.               
  45.           return textStr;//返回文本字符串    
  46.         }  
  47. }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值