亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? extract.cpp

?? 從htm/html格式的網(wǎng)頁(yè)文件中提取內(nèi)容。將要提取內(nèi)容的網(wǎng)頁(yè)文件用鼠標(biāo)拖入窗口
?? CPP
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
//================================================================================
// CLASS   : Extract
// FUNCTION: 提取網(wǎng)頁(yè)內(nèi)容,去除html標(biāo)簽。
// AUTHOR  : 2006-05-21 Created by navy
// REFER   : 輸入文件名(*.htm/html)
// NOTE    : Extract.cpp , implementation file
//================================================================================
#include "StdAfx.h"
#include "Extract.h"
#include "windows.h"

Extract::Extract()
{	
	strUseful = STR_USEFUL ;           // "<TITLE>,<TR>,<TD>,<P>,<BR>,<DIV>"
}

//--------------------------------------------------------------------------------
// FUNCTION: 處理文件。
// IN      : 文件名。
// OUT     : .txt文件
// AUTHOR  : 2006-05-24 Created by navy .
// NOTE    : 
//--------------------------------------------------------------------------------
void Extract::funProcessFile(string strFileName)
{
	funProcess(strFileName);
}

//--------------------------------------------------------------------------------
// FUNCTION: 處理目錄中所有擴(kuò)展名為strExteName的文件
// IN      : 源目錄、目標(biāo)目錄、擴(kuò)展名
// OUT     : txt文件。
// AUTHOR  : 2006-05-24 Created by navy .
// NOTE    : 目標(biāo)目錄為空時(shí),默認(rèn)為源目錄
//--------------------------------------------------------------------------------
void Extract::funProcessDirectory(string strDirSour,string strDirDest,string strExteName)
{
	long h;
	_finddata_t fdata;
	string filename;
	int nCount = 0 ;
	if(strDirDest.empty())
	{
		strDirDest = strDirSour ;
	}
	strDirSource = strDirSour + "\\" ;
	strDirDestination = strDirDest + "\\" ; 
	h = _findfirst((strDirSource+"\\*."+strExteName).c_str(),&fdata);
	if (h == -1) 
	{
		//cout << "No match files .";
		return;
	}
	//funProcess( strDirDest+"\\"+fdata.name);
	if (fdata.size < 3*1024*1024) 
	{
		nCount ++ ;
		cout << nCount << " : " <<"processing " << fdata.name << "    ";
		funProcess(fdata.name);
	}
	else
	{
		//nCount ++ ;
		cout << "********************************************************" << endl;
		cout << "* size over 3M !" << endl;
		cout << "* file name : " << fdata.name << "  did not process .  "  << endl;
		cout << "********************************************************" << endl;
	}
	
	while (1)
	{
		if (_findnext(h,&fdata) == 0)
		{
			//funProcess( strDirDest+"\\"+fdata.name);
			if (fdata.size < 3*1024*1024) 
			{
				nCount ++ ;
				cout << nCount << " : " <<"processing " << fdata.name << "    ";
				funProcess(fdata.name);
			}
			else
			{
				//nCount ++ ;
				cout << "********************************************************" << endl;
				cout << "* size over 3M !" << endl;
				cout << "* file name : " << fdata.name << "  did not process .  "  << endl;
				cout << "********************************************************" << endl;
			}
		}
		else
		{
			break;
		}		
	}
	_findclose(h);
}

//--------------------------------------------------------------------------------
// FUNCTION: 打開(kāi)網(wǎng)頁(yè)文件,去除標(biāo)簽,提取內(nèi)容。
// IN      : 網(wǎng)頁(yè)文件(*.htm/html)。
// OUT     : txt文件。
// AUTHOR  : 2006-05-22 Created by navy .
// NOTE    : 
//--------------------------------------------------------------------------------
void Extract::funProcess(string filename)
{
	ifstream fin((strDirSource + filename).c_str());
	string strLine,strResult;
	int i = 1 , j = 1 ;
	char *sResultFile;
	sResultFile=new char[100];
	//strUseful = STR_USEFUL ;           // "<TITLE>,<TR>,<TD>,<P>,<BR>,<DIV>"

	funDestFilename(filename.c_str(),sResultFile);
	cout << "." ;                      //輸出“.”號(hào)

	if (!fin) 
	{
		cout<<"Can't open the file !"<<endl ;
		return ; 
	}


	while ( getline(fin,strLine) )
	{
		if (i%3000 == 0) cout << "." ;
		if (i++ == 10000)
		{
			cout <<" " << j++ << "W";
			i = 1 ;
		}
		funConvCapital(strLine);
		//funPreProcess(strLine);		
		while((strLine[strLine.size()-1] =='\r') || (strLine[strLine.size()-1] =='\n')) //\r是換行,\n回車
		{
			strLine = strLine.substr(0, strLine.size()-1);
		}
		strResult+=strLine;		
	}
	
	cout << "." ;                      //輸出“.”號(hào)
	funDelete2(strResult,"SCRIPT",0);    //去除<SCRIPT></SCRIPT>間的內(nèi)容
	funDelete2(strResult,"STYLE",0);     //去除<STYLE></STYLE>間的內(nèi)容
	funDelete2(strResult,"XML",0);     //去除<XML></XML>間的內(nèi)容

	if ( STR_A ) funDelete2(strResult,"A",0); 
	funDelete(strResult,"<A");         //將<A ...>變?yōu)?lt;A>
	funDelete(strResult,"<P");         //將<P ...>變?yōu)?lt;P>
	funDelete(strResult,"<TD");

	if ( STR_REPLACE_VERTICAL ) funReplace(strResult,"|"," "); 
	if ( STR_SPACE )   funReplace(strResult," ",""); //是否刪除所有空格

	funDelUselessLink(strResult);      //刪除無(wú)用鏈接

	cout << "." ;                      //輸出“.”號(hào)
	funKeepListLabel(strResult,0);     //0表示從第一個(gè)字符開(kāi)始查找
	cout << "." ;                      //輸出“.”號(hào)
	funReplace(strResult,"	"," ");      //用空格替換TAB
	funReplace(strResult,"  "," ");      //最多保留一個(gè)空格
	cout << "." ;                      //輸出“.”號(hào)
	funResult(strResult);
	cout << "." ;                      //輸出“.”號(hào)
	funOutput(sResultFile);

	/**debug*******************/
//	ofstream fout(sResultFile);
//	fout<< strResult << endl;
//	fout.close();
	/**debug*******************/

	//delete sResultFile;
	fin.close();
}


//--------------------------------------------------------------------------------
// FUNCTION: 將處理結(jié)果存入向量中。
// IN      : strResult
// OUT     : vecResult
// AUTHOR  : 2006-05-22 Created by navy .
// NOTE    : 
//--------------------------------------------------------------------------------
void Extract::funResult(string strResult)
{
	int nPos;
	string strTmp;

	funDelBegAnd(strResult,0); //替換以&開(kāi)頭以;結(jié)束的字符串
	vecResult.clear();
	nPos = strResult.find("<BR");
	while (nPos != -1)
	{
		strTmp = strResult.substr(0,nPos);
		funDelSideSpace(strTmp);       //去除前后空格
		if ( !strTmp.empty() ) {
			vecResult.push_back(strTmp);
		}
		strResult = strResult.substr(nPos+3);
		nPos = strResult.find("<BR");
	} 
	if (!strResult.empty()) 
	{
		vecResult.push_back(strResult);
	}
}

//--------------------------------------------------------------------------------
// FUNCTION: 將vecResult輸出到filename.txt中。
// IN      : filename
// OUT     : 將結(jié)果保存在文件中。
// AUTHOR  : 2006-05-22 Created by navy .
// NOTE    : 
//--------------------------------------------------------------------------------
void Extract::funOutput(char* filename)
{
	ofstream fout;
	int i,n;
	string strTmp,strTmpOld;
	
	fout.open((strDirDestination + filename).c_str());
	n=vecResult.size();

	for ( i=0;i<n;i++ )
	{
		strTmpOld = strTmp ; 
		strTmp = vecResult[i] ;	     //cout << strTmp <<endl;
		funDelSideSpace(strTmp);     //cout << strTmp <<endl;
		if((i > 0) && (strTmp == strTmpOld)) continue;
		if ( strTmp == "·" ) continue;
		//fout << "" << strTmp << endl;
		//fout << "    " << strTmp << endl; //加空格,好看一些。
		fout << strTmp << endl; //不加空格
	}

	cout << "  Finish !" << endl;

	fout.close();
}

//--------------------------------------------------------------------------------
// FUNCTION: 將小寫字母轉(zhuǎn)為大寫。
// IN      : 一行。
// OUT     : 
// AUTHOR  : 2006-05-27 Created by navy .
// NOTE    : 
//--------------------------------------------------------------------------------
void Extract::funConvCapital(string& strLine)
{
	if(STR_TI_CAPITAL)  
	{
		funReplace(strLine,"<ti","<TI");
		funReplace(strLine,"</ti","</TI");
	}
	if(STR_TR_CAPITAL)  
	{
		funReplace(strLine,"<tr","<TR");
		funReplace(strLine,"</tr","</TR");
	}
	if(STR_TD_CAPITAL)  
	{
		funReplace(strLine,"<td","<TD");
		funReplace(strLine,"</td","</TD");
	}
	if(STR_P_CAPITAL)   
	{
		funReplace(strLine,"<p","<P");
	}
	if(STR_BR_CAPITAL)  
	{
		funReplace(strLine,"<br","<BR"); 
	}
	if(STR_DI_CAPITAL)  
	{
		funReplace(strLine,"<di","<DI");
		funReplace(strLine,"</di","</DI");
	}
	if(STR_XML_CAPITAL) 
	{
		funReplace(strLine,"xml","XML");
	}
	if(STR_A_CAPITAL ) 
	{		
		funReplace(strLine,"<a","<A");
		funReplace(strLine,"</a>","</A>");
	}
	if(STR_SPACE ) 
	{
		funReplace(strLine," ",""); 
	}
	funReplace(strLine,"script","SCRIPT");
	funReplace(strLine,"style","STYLE");
}


//--------------------------------------------------------------------------------
// FUNCTION: 對(duì)strLine進(jìn)行預(yù)處理。
// IN      : 一行。
// OUT     : 將結(jié)果保存在變量中。
// AUTHOR  : 2006-05-21 Created by navy .
// NOTE    : 
//--------------------------------------------------------------------------------
void Extract::funPreProcess(string& strLine)
{
	wchar_t ws[1024];
	char ss[2048];
	int nTrans = MultiByteToWideChar(CP_ACP, 0, strLine.c_str(), strLine.size(), ws, 1024 );
	ws[nTrans] =0;

	wstring wss=ws;

	funReplace(wss,L" ",L" ");        //將" "(全角的空格)替換成空格

	nTrans = WideCharToMultiByte(CP_ACP, 0, wss.c_str(), wss.size(), ss, 2048, NULL, NULL );
	ss[nTrans] = 0;
	strLine=ss;
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产精品一区二区久久恐怖片| 国产精品成人免费在线| 夜夜嗨av一区二区三区四季av| 国产九色sp调教91| 久久久综合网站| 国产一区二区在线影院| 久久久欧美精品sm网站| 色狠狠色噜噜噜综合网| 亚洲一区二区高清| 91精品在线免费| 激情av综合网| 国产精品国产三级国产专播品爱网 | 国内精品自线一区二区三区视频| 亚洲免费看黄网站| 99精品桃花视频在线观看| 国产精品第13页| 亚洲精品一区二区三区四区高清| 国产呦萝稀缺另类资源| 秋霞电影网一区二区| 欧美国产乱子伦| 日本韩国欧美在线| 丰满放荡岳乱妇91ww| 亚洲一区成人在线| 亚洲色图制服诱惑| 91麻豆精品国产| 欧美色倩网站大全免费| 国产精品资源网站| 久久精品999| 中文字幕一区视频| 制服.丝袜.亚洲.中文.综合| 在线一区二区三区做爰视频网站| 不卡的电影网站| 日韩电影在线观看一区| 国产精品网友自拍| 欧美丰满少妇xxxbbb| 成人综合在线观看| 亚洲国产成人精品视频| 亚洲激情图片小说视频| 久久久久国产免费免费| 久久伊人蜜桃av一区二区| 欧美午夜宅男影院| 粉嫩一区二区三区在线看| 国产麻豆精品久久一二三| 国产在线视频精品一区| 国产精品一卡二卡在线观看| 激情五月激情综合网| 国产美女一区二区| 国产高清不卡二三区| 日韩黄色免费电影| 国产精品黄色在线观看| 日韩一区在线播放| √…a在线天堂一区| 亚洲男人天堂一区| 亚洲国产精品久久久久秋霞影院 | 国产欧美日韩精品一区| 欧美美女一区二区在线观看| 欧美日韩视频一区二区| 日韩女优av电影在线观看| 欧美日韩卡一卡二| 91视频.com| 成人免费va视频| 91影视在线播放| 欧美日韩国产欧美日美国产精品| 欧美人与禽zozo性伦| 精品国精品国产尤物美女| 国产日产精品1区| 自拍偷拍欧美精品| 日韩成人午夜电影| 精品亚洲国产成人av制服丝袜| 亚洲一区二区三区不卡国产欧美| 亚洲成人av在线电影| 亚洲国产精品久久久久秋霞影院| 免费观看一级特黄欧美大片| 国产91精品在线观看| 色久优优欧美色久优优| 69av一区二区三区| 久久久精品综合| 亚洲国产精品人人做人人爽| 六月丁香婷婷色狠狠久久| eeuss鲁一区二区三区| 成人黄色国产精品网站大全在线免费观看| 91亚洲精品乱码久久久久久蜜桃| 777久久久精品| 亚洲国产精品精华液ab| 亚洲一区二区欧美| 国产寡妇亲子伦一区二区| 色老汉一区二区三区| 精品国产百合女同互慰| 亚洲青青青在线视频| 久久99久久久欧美国产| 色综合天天综合在线视频| 91在线云播放| 欧美mv日韩mv亚洲| 国产色综合一区| 国产精品久久久久久久午夜片| 亚洲午夜一区二区| 成人精品免费网站| 日韩精品综合一本久道在线视频| 亚洲日本在线a| 蜜乳av一区二区三区| 精品一区二区在线视频| 色综合天天综合在线视频| 欧美精品一区二区三区很污很色的 | 成人a区在线观看| 欧美一区二区三区视频免费播放| 日韩欧美国产一二三区| 亚洲一区在线免费观看| 国产成人精品免费视频网站| 欧美四级电影网| 国产精品欧美一区二区三区| 久久电影国产免费久久电影| 欧美丝袜自拍制服另类| 亚洲欧美自拍偷拍| 豆国产96在线|亚洲| 日韩欧美亚洲国产另类| 亚洲国产精品人人做人人爽| 99久精品国产| 国产婷婷色一区二区三区在线| 秋霞电影网一区二区| 欧美色图天堂网| 亚洲精选免费视频| 国产suv精品一区二区三区| 日韩一本二本av| 欧美国产一区二区在线观看| 毛片不卡一区二区| 欧美高清视频一二三区| 亚洲无人区一区| 91丝袜美女网| 亚洲欧洲99久久| 91视频观看视频| 亚洲卡通欧美制服中文| 91免费版pro下载短视频| 中文av一区特黄| 成人午夜视频在线观看| 久久久不卡网国产精品二区| 激情深爱一区二区| 亚洲精品一区二区三区99| 毛片av一区二区| 精品理论电影在线观看| 国产一区二区三区蝌蚪| 26uuu欧美| 国产成人亚洲综合色影视| 久久久久久久久久久久久夜| 国产精品一品二品| 国产精品嫩草影院av蜜臀| 成人午夜伦理影院| 亚洲天堂免费在线观看视频| 色婷婷香蕉在线一区二区| 久久久99精品久久| 国产盗摄一区二区| 最新久久zyz资源站| 91麻豆.com| 石原莉奈在线亚洲三区| 日韩三级伦理片妻子的秘密按摩| 九九久久精品视频| 欧美激情中文字幕| 91看片淫黄大片一级| 亚洲综合成人在线视频| 91麻豆精品国产无毒不卡在线观看| 蜜桃久久av一区| 日本一区二区久久| 欧美在线免费播放| 亚洲欧美国产77777| 欧美体内she精视频| 麻豆精品久久久| 国产精品久久久久久亚洲伦| 在线视频你懂得一区二区三区| 午夜av一区二区| 欧美丝袜自拍制服另类| 美国十次综合导航| 国产精品高潮久久久久无| 欧美怡红院视频| 九九视频精品免费| 亚洲欧洲国产日韩| 正在播放亚洲一区| 国产精品中文有码| 一个色在线综合| 欧美精品一区二区三区很污很色的| 99久久精品免费精品国产| 日日夜夜免费精品| 欧美国产综合一区二区| 欧美精品在线视频| 成人一区二区三区视频| 婷婷综合五月天| 久久久久国产精品免费免费搜索| 91黄色免费版| 国产一区二区日韩精品| 亚洲一区二区在线观看视频| 精品国产乱码久久久久久免费| 91美女片黄在线观看| 经典三级视频一区| 亚洲国产精品视频| 国产精品免费av| 日韩色在线观看| 欧美性生活一区| av电影在线观看一区| 韩国欧美国产1区| 偷偷要91色婷婷| 亚洲柠檬福利资源导航| 国产日韩欧美精品一区|