📄 extract.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 + -