當前位置:成語大全網 - 書法字典 - 如何在Nvivo中調用Ncapture來抓取網頁

如何在Nvivo中調用Ncapture來抓取網頁

如果想用程序抓取網頁並自動保存到本地,必須會使用socket編程,或者學會使用libcurl庫。這些知識在妳不抓取網頁的時候還是很有用的。而且不同的網頁有不同的內容,不同的規則。

網頁分析本質上是字符串處理和分析。所以妳需要掌握正則表達式和字符串處理相關的函數,還有函數庫,比如tidy library。正則表達式用來匹配壹類字符串,方便查找模式和處理。而且正則表達式與語言無關,任何語言都可以使用。標準C庫中沒有與正則表達式相關的函數。壹般來說,C中有兩種正則表達式庫,壹種是POSIX C正則庫,壹種是perl正則庫PCRE。相比較而言,PCRE更強大,POSIX C規範庫就足夠了。

例程,將下載的網頁源代碼處理成不帶標簽的純文本:

#包含?& lttidy.h & gt

#包含?& ltbuffio.h & gt

#包含?& ltstdio.h & gt

#包含?& lt錯誤號& gt

int?main(int?argc,?夏爾?**argv?)

{

const?char*?輸入?=?“& lttitle & gtFoo & lt/title & gt;& ltp & gtFoo!”;

TidyBuffer?輸出?=?{0};

TidyBuffer?errbuf?=?{0};

int?rc?=?-1;

布爾?ok;

TidyDoc?tdoc?=?tidy create();?//?初始化?"文件"

printf(?"整理:\t%s\n ",輸入?);

好嗎?=?tidyOptSetBool(?tdoc,?TidyXhtmlOut,?什麽事?);?//?皈依?去哪?可擴展的超文本標記語言

如果?(?好嗎?)

rc?=?tidySetErrorBuffer(?tdoc,?& amperrbuf?);?//?俘獲?診斷學

如果?(?rc?& gt=?0?)

rc?=?tidyParseString(?tdoc,?輸入?);?//?解析?那個?投入

如果?(?rc?& gt=?0?)

rc?=?tidyCleanAndRepair(?tdoc?);?//?整潔?它?起來。

如果?(?rc?& gt=?0?)

rc?=?tidyRunDiagnostics(?tdoc?);?//?吹毛求疵的人

如果?(?rc?& gt?1?)?//?如果?錯誤,?武力?輸出。

rc?=?(?tidyOptSetBool(tdoc,TidyForceOutput,?是)?rc?:?-1?);

如果?(?rc?& gt=?0?)

rc?=?tidySaveBuffer(?tdoc,?& amp輸出?);?//?漂亮嗎?打印

如果?(?rc?& gt=?0?)

{

如果?(?rc?& gt?0?)

printf(?" \n診斷信息:\n\n%s ",errbuf.bp?);

printf(?“\nAnd?這裏嗎?是嗎?那個?結果:\n\n%s ",output.bp?);

}

其他

printf(?“壹個?嚴重嗎?錯誤?(%d)?發生了。\n“,?rc?);

tidyBufFree(?& amp輸出?);

tidyBufFree(?& amperrbuf?);

tidyRelease(?tdoc?);

回歸?RC;

}