文档章节

java 字符串 获取网页纯文本 及空格 回车替换

林伟琨
 林伟琨
发布于 2016/08/13 15:31
字数 270
阅读 31
收藏 0
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
博文 102
码字总数 34558
作品 0
厦门
后端工程师
Java 正则表达式功能及应用

正则表达式,就是用某种模式去匹配一类字符串的一个公式,正则表达式由一些普通字符和一些元字符(metacharacters)组成。普通字符包括大小写的字母和数字,而元字符则具有特殊的含义,不管是...

浮躁的码农
2015/07/29
0
0
Android编译系统 - pathmap.mk(宏)

build/core/pathmap.mk 文件定义了一个列表pathmap_INCL,列表中每项是"短名:路径"对。宏函数include-path-for将会使用这个列表,来通过短名获取相对于的路径, 如:$(call include-path-for...

我爱咸蛋黄
2013/04/26
0
0
LeetCode:String to Integer (atoi) - 字符串到数字的转换

1、题目名称 String to Integer (atoi) (字符串到数字的转换) 2、题目地址 https://leetcode.com/problems/string-to-integer-atoi/ 3、题目内容 英文:Implement atoi to convert a strin......

北风其凉
2015/07/31
0
0
IntelliJ IDEA 10.0 64位运行方法

IntelliJ IDEA 10.0 默认的快捷方式是以32位运行的.虽然性能上面感觉不出什么变化,但让人心里不很爽.IDEA是JAVA程序,如果我们直接从JAVA命令运行的话那就默认是64位了.还好,IDEA支持以命令调...

SeanCai
2010/12/19
0
1
关于java中split的使用

之前在http://shukuiyan.iteye.com/blog/507915文中已经叙述过这个问题,但是最近一次笔试中居然有碰到了这个知识点,而且还做错了,囧!学艺不精啊。题目大概是这样的: Java代码 String s...

墨梅
2014/04/28
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

go语言学习总结

一、描述 go语言是直接将源码编译成二进制机器码的语言;它支持面向对象、也支持函数式编程;支持并发很容易; 二、基本语法学习路径 https://studygolang.com/subject/2...

盼望明天
28分钟前
2
0
JSP 九大内置对象及其作用域

JSP 中一共预先定义了 9 个这样的对象,分别为:request、response、session、application、out、pagecontext、config、page、exception ,下面就简单介绍下。 1、request 对象 request 对象...

几个栗子
39分钟前
1
0
Java中的坑之方括号

Java中的坑之方括号 这一段时间,在做项目的时候,发现了一个坑,这个坑说大不大,说小不小,不知道的足够喝一壶,知道的就可以轻松解决。 问题描述 在做数据统计的时候,遇见了如下形式的数...

星汉
49分钟前
2
0
[雪峰磁针石博客]python机器学习、web开发等书籍汇总

Building Machine Learning Systems with Python Third Edition - 2018.pdf 下载地址 Get more from your data by creating practical machine learning systems with Python Key Features ......

python测试开发人工智能安全
今天
1
0
文件的压缩与解压(linux)

Linux下*.tar.gz文件解压缩命令 1.压缩命令:   命令格式:tar -zcvf 压缩后文件名.tar.gz 被压缩文件名 可先切换到当前目录下。压缩文件名和被压缩文件名都可加入路径。 2.解压缩命令: ...

qimh
今天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部