Jsoup处理html空格乱码问题

由于在html中空格只能用 表示,当运用Jsoup抓取html页面后,我们将html页面进行解析时,Java对html页面的代码不识别,输入到控制台时出现乱码,在网上查了很多资料都没有找到很好的解决办法,最后在一篇论坛中说到“运用字符串替换”可以进行解决,于是运用简单的字符串替换原理对此进行处理。对其替换处理后再对html文件进行解析。具体实现代码如下:

//参数说明:oldFile为所需要替换的文件,即为原文件;   newFile为替换后新的文件 ;oldString为所需要替换的字符串;newString为替换字符串
	public static void replaceAllFileString(File oldFile, File newFile, String oldString, String newString){
		try {
		BufferedReader reader = new BufferedReader(new FileReader(oldFile));
		BufferedWriter writer = new BufferedWriter(new FileWriter(newFile));
		String teamString = null;
		while((teamString = reader.readLine()) != null){
			String str = teamString.replaceAll(oldString, newString);
			writer.write(str);
		}
		reader.close();
		writer.close();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

Jsoup处理html空格乱码问题,布布扣,bubuko.com

时间: 2024-11-14 04:23:24

Jsoup处理html空格乱码问题的相关文章

解决oracle中sqlplus工具输错字符乱码,空格乱码的问题

这里用到的工具就是rlwrap 可以在此链接进行了解http://utopia.knoware.nl/~hlub/uck/rlwrap/ wget http://utopia.knoware.nl/~hlub/uck/rlwrap/rlwrap-0.42.tar.gz yum install -y readline readline-devel  这是所依赖的 tar xf rlwrap-0.42.tar.gz cd rlwrap-0.42 当然在编译之前可以查看一下readme和install

MapReduce实验——WordCount

实验要求及步骤 参考博客:https://blog.csdn.net/qq_41035588/article/details/90514824,但是创建的项目是Map/Reduce项目.其实创建Java项目也可以做,只是需要导入Map/Reduce项目所需要的jar包. 运行结果截图 出现的问题及解决办法 文件buyer_favorite在eclipse上打开会出现空格乱码的情况,但是不影响本次实验,可以忽略不计.或者也可以将空格改为其它间隔符,如“|”. eclipse里不能对Hadoop上的

Java抓任意网页标题乱码jsoup解决方案一例

同事用Java做了一个抓取任意网页的标题的功能,由于任意网页的HTML的head中meta中指定的charset五花八门,比如常用的utf-8,gbk,gb2312. 自己写代码处理,短时间内,发现各种情况太难考虑周全,总是抓取乱码.面临的挑战:也可能有meta也可能没meta,即使有meta也可能大写也可能小写,即使大小写搞定也可能带空白字符,总之各种意想不到.不过呢,搜索引擎爬虫抓到的网页咋就不会乱码呢? 百度查这个问题基本无解,bing查这个问题也是无用功居多,只好开上蓝灯上谷歌,三个备选

Java中使用Jsoup抓取网页URL时出现中文汉字乱码的问题及解决办法

public static String readHtml(String myurl) { StringBuffer sb = new StringBuffer(""); URL url; try { url = new URL(myurl); BufferedReader br = new BufferedReader(new InputStreamReader(url.openStream(), "gbk")); String s = "";

html_entity_decode()、空格、  乱码问题

普通 ASCII 码空格为 32,但是浏览器会对普通空格进行自动归并,也就是如果你输入10个 0x20 的空格在HTML页面里面,可能会被合并成一个空格. 如果想要一致的呈现多个空格,就要用到  ,这个空格的编码为 160,为西欧ISO-8859-1编码标准. 为了让经过HTML编码的内容还原为原来的文本字符,可以使用 html_entity_decode() 方法,但这样问题就来了,通常HTML编码内容为UTF8格式的, html_entity_decode()在浏览器UTF8编码环境下会把

JSOUP教程,JSOUP 乱码处理,JSOUP生僻字乱码解决方案

JSOUP乱码情况产生 这几天我用 JSOUP 多线程的方式,爬取了200 多万数据,数据为各地的地名相关.结果有小部分数据,不到 1 万乱码.我先检查了我的编码为UTF-8 ,觉得应该没有问题.代码基本如下如下: try{ doc = Jsoup.connect(url) .header("User-Agent", "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:49.0) Gecko/20100101 Firefox/49.0&q

java爬虫问题二: 使用jsoup爬取数据class选择器中空格多选择怎么解决

问题描述: 在使用jsoup爬取其他网站数据的时候,发现class是带空格的多选择,如果直接使用doc.getElementsByClass("class的值"),这种方法获取不到想要的数据. 爬取网站页面结构如下: 其中文章列表的div为:<div class="am-cf inner_li inner_li_abtest"></div> 我们可以看到其class的值为:am-cf inner_li inner_li_abtest.带空格的

eclipse基本设置----中文乱码、行数显示、缩进方式、行末空格和空行自动删除、常用注解

一.中文乱码 window系统下,Eclipse中导入新的项目的时候,可能会遇到中文乱码的问题. 解决方案:将系统默认的格式为GBK改成UTF-8.以下是具体解决方法,可以根据需要选择不同的方法. 1.设置整个工作空间的编码,此操作会影响整个工作空间的项目. 设置步骤:菜单栏window --  Preferences -- General -- Workspace --Text file encoding--Other --UTF-8,保存配置(Apply and Close). 2.设置项目

解决CsvWriter:中文乱码、末尾行多一行空格(/r)、非第一列空字符串&quot;&quot;显示null问题

一:主要内容 解决CsvWriter存csv,csv文件打开后中文乱码问题 解决CsvWriter存csv,csv文件最后一行总是多一行空行的问题 解决CsvWriter存csv,csv文件不是第一列的时候,想存入""即空字符串无法存入显示null的问题 二:解决问题前:需要做的事情 因为网上的CsvWrite的jar包导入到我们的工程中是class文件,针对上面的问题是无法修改源码的,但是我们又想用这个工具来操作csv,所以可以在自己的工程中首先pom引用这个jar包 <dep