java 字符串 获取网页纯文本 及空格 回车替换
java 字符串 获取网页纯文本 及空格 回车替换
林伟琨 发表于1年前
java 字符串 获取网页纯文本 及空格 回车替换
  • 发表于 1年前
  • 阅读 24
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 新注册用户 域名抢购1元起>>>   

package cn.com.czj.front.utils.http;

import java.io.*;

import org.apache.commons.lang3.StringUtils;
import org.htmlparser.Parser;
import org.htmlparser.beans.StringBean;
import org.htmlparser.util.ParserException;
import org.htmlparser.visitors.HtmlPage;

class GetPureWord {
	public static void main(String[] argv) throws IOException, InterruptedException, ParserException {
		Parser parser;
		String body = "";
		String title = "";
		String url = "http://www.linweikun.com/";
		try {
			parser = new Parser(url);
			parser.setEncoding("UTF-8");
			HtmlPage htmlpage = new HtmlPage(parser);
			parser.visitAllNodesWith(htmlpage);
			// 通过htmlparser 获取body内容
			body = htmlpage.getBody().asString();
			// 通过htmlparser 获取title内容
			title = htmlpage.getTitle();
			body = body.replaceAll("[ \\t\\n\\r\\f( |gt) ]+", " ");
			System.out.println(title);
			System.out.println(body);
		} catch (Exception e) {
			// TODO: handle exception
			e.printStackTrace();
		}
		// System.out.println(StringUtils.replace(getText(url), "\n",""));
		// System.out.println(StringUtils.replacePattern(getText(url),
		// "\\s*|\t|\r|\n", ""));
		// System.out.println(StringUtils.replacePattern(getText(url), "\\s+",
		// " "));
		System.out.println(StringUtils.replacePattern(StringUtils.replace(getText(url), "\n", ""), "\\s+", " "));

	}

	/**
	 * 根据提供的URL,获取此URL对应网页的纯文本信息
	 * 
	 * @param url
	 *            提供的URL链接
	 * @return RL对应网页的纯文本信息
	 * @throws ParserException
	 */
	public static String getText(String url) throws ParserException {
		StringBean sb = new StringBean();
		// 设置不需要得到页面所包含的链接信息
		sb.setLinks(true);
		// 设置将不间断空格由正规空格所替代
		// sb.setReplaceNonBreakingSpaces(true);
		// 设置将一序列空格由一个单一空格所代替
		// sb.setCollapse(true);
		// 传入要解析的URL
		sb.setURL(url);
		// 返回解析后的网页纯文本信息
		return sb.getStrings();
	}

}
共有 人打赏支持
粉丝 8
博文 82
码字总数 23668
×
林伟琨
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: