`
isiqi
  • 浏览: 16502158 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

自己动手写CSDN博客提取器源码分析之一:处理网页保存为txt文件

 
阅读更多

在昨天上午发了一个帖子[原创]自己动手写CSDN博客提取器,提取文件保存支持PDF、doc、txt三种格式有很多网友比较感兴趣,有些网友说要公布一下源码,在这里,我就把这个软件制作的一些核心代码贴出来,给大家分享。

下面是把抓取到的网页用正则表达式处理留下纯文本然后保存为txt文件。这个代码很简单的,相信大家都看得懂吧。

/**
 * 
 */
package com.wyp.html2txt;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
/**
 * @author w397090770
 * Create Data: 2012-7-18
 * Email: wyphao.2007@163.com
 * 
 * 版权所有,翻版不究,但是在修改本程序的时候务必加上这些注释。谢谢
 * 仅用于学习交流之用,
 */
public class saveAsTXT {
	public void html2txt(File file, String str, String title){
		
		//去掉<script>(.*?)</script>
		//str = str.replaceAll("<[Ss][Cc][Rr][Ii][Pp][Tt].*?>.*?<[/]?[Ss][Cc][Rr][Ii][Pp][Tt]>", "####");
		//str = str.replaceAll("<\\b(\\w+)[\\s\\w>\"/\'=:;.]+</\\1>", "####");
		str = str.replaceAll("<\\b(\\w+)[\\s\\w>\"/'=&:_;.]+</\\1>", "####");
		//去掉<br/>
		str = str.replaceAll("<[\\s]*[Bb][Rr][\\s]*[/]?[\\s]*>", System.getProperty("line.separator"));
		//<p>也是换行
		str = str.replaceAll("<[\\s]*[/]*[Pp].*?>", System.getProperty("line.separator"));
		//替换所以的HTML标签
		str = str.replaceAll("<[\\s]*[/]?[a-zA-Z]*.*?>", "");
		
		//替换空格,两个说明是一个大空格,一个说明是一个小的空格
		str = str.replaceAll("", " ");
		str = str.replaceAll("", " ");
		//替换> <号
		str = str.replaceAll(">", ">");
		str = str.replaceAll("<", "<");
		//替换& 
		str = str.replaceAll("&", "&");
		//半方大的空白
		str = str.replaceAll(" ", " ");
		//全方大的空白
		str = str.replaceAll(" ", " ");
		//双引号
		str = str.replaceAll(""", "\"");
		//版权
		str = str.replaceAll("©", "");
		//已注册商标
		str = str.replaceAll("©", "");
		//乘号
		str = str.replaceAll("×", "×");
		//除号
		str = str.replaceAll("÷", "÷");
		//加号
		str = str.replaceAll("+", "+");
		//不知道为什么CSDN格字是被替换掉了,不管了,我也替换
		str = str.replaceAll("格", "格");
		
		//保存文件		
		File saveFileName = new File(file.getAbsolutePath() + File.separator + title + ".txt");
		if(!saveFileName.exists()){			//只有文件不存在才保存
			try {
				saveFileName.createNewFile();
			} catch (IOException e1) {
				// TODO Auto-generated catch block
				e1.printStackTrace();
				return;
			}
			
			BufferedWriter bw = null;
			try {	//开始保存了
				bw = new BufferedWriter(new FileWriter(saveFileName.getAbsolutePath(), false));
				bw.write(str);
				bw.newLine();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} finally {
				try {
					bw.flush();
					bw.close();
				} catch (IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
		}
		
		
	}
}
以上是把抓取到的网页用正则表达式匹配,去掉所有的网页标签,只留下纯文本的数据,然后就可以保存为txt文件,当然图片是无法在txt里面保存的,所以在处理图片的时候就简单的用正则表达式去掉了。
分享到:
评论

相关推荐

    CSDN博客提取器

    程序通过分析CSDN博客源码来生成一些必要的数据,可能在以后使用当中出现爬取不了的情况,可能是CSDN的源码结构修改了。程序只是用于学习之用,严禁用于非法目的而照成CSDN服务器过载。 由于生成PDF的时候需要依赖...

    CSDN博客提取器修正版

    程序通过分析CSDN博客源码来生成一些必要的数据,可能在以后使用当中出现爬取不了的情况,可能是CSDN的源码结构修改了。程序只是用于学习之用,严禁用于非法目的而照成CSDN服务器过载。 由于生成PDF的时候需要依赖...

    自己动手写编译器链接器PDF及源码.rar

    《自己动手写编译器链接器》是一本深入解析编译器与链接器工作原理的教程,通过PDF文档和源码实例,为读者提供了一条亲手构建这些关键工具的实践之路。编译器和链接器是软件开发过程中的重要组成部分,它们在程序的...

    CSDN博客下载器

    【CSDN博客下载器】是一款专为CSDN(China Software Developer Network)平台设计的工具,用于批量下载用户在该平台发布的博客文章。这款软件能够帮助用户方便地保存自己或他人的博客内容,便于离线阅读、资料备份...

    抓取CSDN博客文章的简单爬虫python源码

    【标题】:“抓取CSDN博客文章的简单爬虫python源码” 在这个主题中,我们将探讨如何使用Python编写一个简单的爬虫程序来抓取CSDN博客的文章内容。CSDN(Chinese Software Developer Network)是中国的一个大型...

    CSDN博客下载器v2.2

    好消息:CSDN博客下载器v2.0版本增加导出PDF文件功能,方便查看图片与文章。 在无网络环境,也可以看自己的一些文章。当然如果您发现CSDN博客的一些文章值得收藏,你也可以使用本软件轻松的下载到您的电脑。 该版本...

    C# winform中将网页保存为mht文件或图片文件

    将webbrowser(其实不用webbrowser只给一个网址也行)中的内容保存为mht(和浏览器的网页另存为功能一样)文件,同时支持页面全屏截图(就是不管页面多长多宽自动截整个页面)。 默认保存为tif格式(应CSDN一名网友...

    提取网页中SWF

    7. **解压工具**:在提供的压缩包子文件列表中,有一个名为“序列号.txt”的文件,这可能包含提取过程的步骤指南或者软件的注册信息。另一个文件“chinaz.com”可能是从网站chinaz.com抓取的SWF文件,或者是一个包含...

    Android小巫CSDN博客客户端源码

    【Android小巫CSDN博客客户端源码】是一款基于Android平台的应用程序,旨在为用户提供一个方便的途径来阅读和浏览CSDN博客上的文章。这个源码是开发者小巫分享的,供其他开发者学习和参考,以提升Android开发技能。 ...

    Java爬取CSDN博客源码

    【Java爬取CSDN博客源码】是一个关于利用Java编程语言进行网络数据抓取的实践项目,主要涉及的技术领域是Web爬虫和大数据处理。在这个项目中,开发者编写了一个爬虫程序,虽然存在一些小问题,但基本功能已经实现,...

    csdn博客小爬虫python

    "csdn博客小爬虫python"指的是使用Python编程语言编写的一个小型网络爬虫程序,该程序设计用于抓取特定CSDN(China Software Developer Network)博客账号下的所有博客文章,并将其保存到本地的"data"文件夹中,以纯...

    CSDN博客导出工具v4.1-源码

    【CSDN博客导出工具v4.1-源码】是一个专为IT从业者和博客作者设计的强大工具,它能够方便地将博客内容从多个知名博客平台导出,以多种格式保存,便于备份、分享和离线阅读。该工具不仅支持CSDN平台,还兼容其他主流...

    《自己动手写网络爬虫》PDF书及源码

    《自己动手写网络爬虫》是一本由罗刚编著的专业书籍,主要针对对网络爬虫技术感兴趣的读者。这本书深入浅出地介绍了如何从零开始构建一个完整的网络爬虫项目,涵盖了从基础知识到高级技巧的全貌。网络爬虫是搜索引擎...

    基于C++的OpenCV3.3图像处理源码整理.txt

    本资源包含基于C++的OpenCV3.3图像处理源码及素材整理 ...本资源配套CSDN博客“基于C++的OpenCV3.3图像处理源码整理”,可 前往查看具体原理和实现效果!!! 希望对大家有帮助,好的话帮忙点个赞哦!感谢支持!!!

    pb操作TXT文件(打开,写入,关闭,删除等等)

    在PB中处理TXT文件是常见的需求,比如读取数据、写入数据、修改或删除文件等。以下是对PB操作TXT文件的详细解释。 1. **打开TXT文件** 在PB中,我们可以使用`TextStream`对象来读取或写入TXT文件。首先,创建一个`...

    自己动手写操作系统_于渊_70M_高清(附源码).part3

    于渊的自己动手写操作系统真正高清版,原来csdn上有一个号称高清的版本,但是没有part1,太坑人了,后来自己花了好长时间才下到,不敢独享,特发出来与大家共同学习!

    网站源码提取

    网站源码提取是一个重要的IT技能,特别是在网页开发、数据分析和网站维护等领域。它涉及到从网页中获取HTML、CSS、JavaScript等原始代码的过程,这些代码构成了我们日常浏览的网页。在这个过程中,我们可以分析网页...

    基于Python实现的网页文本预处理.zip

    通过爬虫工具爬取网页(至少1000个,其中包含附件的网页不少于100个,多线程实现爬虫可加分),然后提取网页标题和网页正文,以及网页中的附件并保存附件到本地json文件中。 分词处理、去停用词处理 将提取的网页...

    vep视频快速加密提取器

    vep视频快速加密提取器

Global site tag (gtag.js) - Google Analytics