⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 extract.h

📁 从htm/html格式的网页文件中提取内容。将要提取内容的网页文件用鼠标拖入窗口
💻 H
字号:
//================================================================================
// CLASS   : Extract
// FUNCTION: 提取网页内容,去除html标签。
// AUTHOR  : 2006-05-21 Created by navy
// REFER   : 输入文件名(*.htm/html)
// NOTE    : Extract.h , interface for the Extract class.
//================================================================================

#if !defined(AFX_EXTRACT_H__48E70F2B_E88D_451C_8A7E_0B2342370622__INCLUDED_)
#define AFX_EXTRACT_H__48E70F2B_E88D_451C_8A7E_0B2342370622__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
/********************************************************************************/
//用户配置文件 0:否;1:是
#define STR_USEFUL "<TITLE>,<TR>,<TD>,<P>,<BR>,<DIV>"
#define STR_A       0          //是否删除<A></A>及其之间的内容[a<A>b</A>c变为ac]

#define STR_SPACE   0          //是否删除所有空格
#define STR_REPLACE_VERTICAL 1 //是否将|替换成空格
#define STR_TI_CAPITAL   1     //是否要将小写(title)变为大写(TITLE)
#define STR_TR_CAPITAL   1     //是否要将小写(tr)变为大写(TR)
#define STR_TD_CAPITAL   1     //是否要将小写(td)变为大写(TD)
#define STR_P_CAPITAL    1     //是否要将小写(p)变为大写(P)
#define STR_BR_CAPITAL   1     //是否要将小写(br)变为大写(BR)
#define STR_DI_CAPITAL   1     //是否要将小写(div)变为大写(DIV)
#define STR_A_CAPITAL    1     //是否要将小写(a)变为大写(A)
#define STR_XML_CAPITAL  1     //是否要将小写(xml)变为大写(XML)  注:一般为小写
/********************************************************************************/
#include "io.h"
#include "iostream"
#include "fstream"
#include "string"
#include "vector"
using namespace std;

class Extract  
{
public:
	Extract();
	void funProcessFile(string strFileName);
	//strDirSour:源目录、strDirDest:目标目录、strExteName:扩展名
	void funProcessDirectory(string strDirSour,string strDirDest,string strExteName);
	virtual ~Extract();

private:
	void funProcess(string filename);
	void funResult(string strResult);
	void funOutput(char* filename);
	void funReplace(string& strLine,string strOld,string strNew);
	void funConvCapital(string& strLine);
	void funPreProcess(string& strLine);
	//funCountSymbol函数:返回位置i,j间的symbol个数。
	int  funCountSymbol(string strResult,int i,int j,string symbol);
	void funDelete(string& strResult,string separator);
	void funDelete2(string& strResult,string separator,int nPos);
	void funKeepListLabel(string& strResult,int nPosOld);
	void funDestFilename(const char* filename,char* sResultFile);
	//void funReplace(string& strLine,string strOld,string strNew);
	void funReplace(wstring& strLine,wstring strOld,wstring strNew); //处理宽字符
	void funDelSideSpace(string& strLine);
	void funDelBegAnd(string& strResult,int nPos);   //去除以&开头以;结束的字符串
	void funDelUselessLink(string& strResult);       //删除无用链接


private:
	vector<string> vecTmp;    // store sentences 
	vector<string> vecResult; //存放结果,一个向量中存一行。
	string strUseful;	
	string strDirSource;
	string strDirDestination;
};

#endif // !defined(AFX_EXTRACT_H__48E70F2B_E88D_451C_8A7E_0B2342370622__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -