日本在线观看,国产激情视频一区二区在线观看 ,а√天堂资源官网在线资源,性网站在线看,久久99影视,国产精品嫩草影院av蜜臀,精品久久久香蕉免费精品视频,欧美日韩国产一区二区三区地区,国产性做久久久久久,在线看成人短视频

Categories


Tags


搶先式多線程網絡蜘蛛

Win32 API 支持搶先式多線程網絡,這是編寫MFC網絡蜘蛛非常有用的地方。SPIDER工程(程序)是一個如何用搶先式多線程技術實現在網上用網絡蜘蛛/機器人聚集信息的程序。

該工程產生一個象蜘蛛一樣行動的程序,該程序為斷開的URL鏈接檢查WEB站點。鏈接驗證僅在href指定的鏈接上進行。它在一列表視圖CListView中顯示不斷更新的URL列表,以反映超鏈接的狀態。本工程能用作收集、索引信息的模板,該模板將這些信息存入到可以用于查詢的數據庫文件中。

搜索引擎在WEB上使用叫作Robots(也叫爬蟲,蜘蛛,蠕蟲,漫步者,滑行者等等)的程序收集信息,它從WEB上自動地聚集和索引信息,接著將這些信息存入數據庫。(注意:一個機器人將搜索一個頁面,然后把這個頁面上的鏈接作為將要索引的新的URL的起點)用戶可創建查詢去查詢這些數據庫以發現他們需要的信息。

通過搶先式多線程地使用,你能索引一個基于URL鏈接的WEB頁面,啟動一個新的線程跟隨每個新的URL鏈接,索引一個新的URL起點。本工程使用和自定義的MDI子框架一起使用的MDI 文檔類,在下載WEB頁面時顯示一個編輯視圖,在檢查URL連接時顯示一個列表視圖。另外,本工程使用了CObArray,CInternetSession,CHttpConnection,ChttpFile和CWinThread MFC類。CWinThread類用于產生多線程來代替在CInternetSession類中的異步模式,這種模式是從insock的16位windows平臺保留下來的。SPIDER工程使用簡單的工作線程去檢查URL鏈接,或者下載一個Web頁面。CSpiderThread類是從CWinThread類中派生的,所以,每個CSpiderThread對象可以使用CWinThread 的MESSAGE_MAP()函數。通過在CSpiderThread類中聲明"DECLARE_MESSAGE_MAP()",用戶接口可以響應用戶的輸入。這意味著你可以在一個Web服務器上檢查URL鏈接的同時,你可以從另一個Web服務器上下載或打開一個Web頁面。只有在線程數超過定義為64的MAXIMUM_WAIT_OBJECTS時,用戶接口將不會響應用戶的輸入。在每個CSpiderThread對象的構造函數中,我們提供了ThreadProc函數以及將傳送到ThreadProc函數的線程參數。

CSpiderThread* pThread;

pThread = NULL;

pThread = new CSpiderThread(CSpiderThread::ThreadFunc,pThreadParams); // 創建一個新的 CSpiderThread 對象;

在類CSpiderThread 構造函數中我們在線程參數中設置指針CWinThread* m_pThread ,于是我們可以指向這個線程正確的事例:

pThreadParams->m_pThread = this;

The CSpiderThread ThreadProc Function

// 簡單的工作線程函數

UINT CSpiderThread::ThreadFunc(LPVOID pParam)

{

ThreadParams * lpThreadParams = (ThreadParams*) pParam;

CSpiderThread* lpThread = (CSpiderThread*) lpThreadParams->m_pThread;

lpThread->ThreadRun(lpThreadParams);

// 這里使用SendMessage代替PostMessageUse,以保持當前線程數同步。

// 如果線程數大于 MAXIMUM_WAIT_OBJECTS (64), 本程序將變得不能響應用戶輸入

::SendMessage(lpThreadParams->m_hwndNotifyProgress,

WM_USER_THREAD_DONE, 0, (LPARAM)lpThreadParams);

// 刪除lpThreadParams 和減少線程總數

return 0;

}

這個結構傳遞給CSpiderThread ThreadProc函數

typedef struct tagThreadParams

{

HWND m_hwndNotifyProgress;

HWND m_hwndNotifyView;

CWinThread* m_pThread;

CString m_pszURL;

CString m_Contents;

CString m_strServerName;

CString m_strObject;

CString m_checkURLName;

CString m_string;

DWORD m_dwServiceType;

DWORD m_threadID;

DWORD m_Status;

URLStatus m_pStatus;

INTERNET_PORT m_nPort;

int m_type;

BOOL m_RootLinks;

}ThreadParams;

CSpiderThread對象創建后,我們用CreatThread函數開始一個新的線程對象地執行。

if (!pThread->CreateThread()) //開始一 CWinThread 對象地執行

{

AfxMessageBox("Cannot Start New Thread");

delete pThread;

pThread = NULL;

delete pThreadParams;

return FALSE;

}

一旦新的線程正在運行,我們使用::SengMessage函數發送消息到 CDocument's-> CListView ,這個消息帶有URL鏈接的狀態結構。

if(pThreadParams->m_hwndNotifyView != NULL)

::SendMessage(pThreadParams->m_hwndNotifyView,WM_USER_CHECK_DONE, 0, (LPARAM) &pThreadParams->m_pStatus);

URL狀態的結構:

typedef struct tagURLStatus

{

CString m_URL;

CString m_URLPage;

CString m_StatusString;

CString m_LastModified;

CString m_ContentType;

CString m_ContentLength;

DWORD m_Status;

}URLStatus, * PURLStatus;

每個新的線程建立一個新的CMyInternetSession類(派生于CInternetSession)對象,并把 EnableStatusCallback設置為TRUE,于是,我們可以在所有的InternetSession回調時檢查狀態。將回調使用的dwContext ID設置為線程ID。

BOOL CInetThread::InitServer()

{

try

{

m_pSession = new CMyInternetSession(AgentName,m_nThreadID);

int ntimeOut = 30; // 很重要!如果設置太小回引起服務器超時,如果設置太大則回引起線程掛起。

/*

網絡連接請求時間超時值在數毫秒級。如果連接請求時間超過這個超時值,請求將被取消。

缺省的超時值是無限的。

*/

m_pSession->SetOption(INTERNET_OPTION_CONNECT_TIMEOUT,1000* ntimeOut);

/* 在重試連接之間的等待的延時值在毫秒級。*/

m_pSession->SetOption(INTERNET_OPTION_CONNECT_BACKOFF,1000);

/* 在網絡連接請求時的重試次數。如果一個連接企圖在指定的重試次數后仍失敗,則請求被取消。 缺省值為5。 */

m_pSession->SetOption(INTERNET_OPTION_CONNECT_RETRIES,1);

m_pSession->EnableStatusCallback(TRUE);

}

catch (CInternetException* pEx)

{

// catch errors from WinINet

//pEx->ReportError();

m_pSession = NULL;

pEx->Delete();

return FALSE ;

}

return TRUE;

}

在一個單或多線程程序中使用MFC WinIne類,關鍵是要在所有MFC WinInet類函數周圍使用try和catch塊。因為互連網有時很不穩定,或者你訪問的Web頁面已不存在,則這種情況下,將拋出一個CInternetException錯誤。

try

{

// some MFC WinInet class function

}

catch (CInternetException* pEx)

{

// catch errors from WinINet

//pEx->ReportError();

pEx->Delete();

return FALSE ;

}

最初線程數最大設置為64,你可以將它設置為從1到100的任何數。設置太高會使鏈接失敗,意味著你將不得不重新檢查URL鏈接。在/cgi-bin/目錄下一個連續不斷地迅猛地HTTP請求會使服務器崩潰。SPIDER 程序在1秒中發送四個HTTP請求,1分鐘240個。這也將會使服務器崩潰。在任何服務器上你檢查時放仔細一點。每個服務器都有一個請求Web文件的請求代理IP地址的日志。你或許會收到來自Web服務器管理員的齷齪的郵件。

你可以為一些目錄建立robots.txt 文件來防止這些目錄被索引。這個機制通常用于保護/cgi-bin/ 目錄。CGI腳本占用更多的要檢索的服務器資源。當SPIDER程序檢查URL鏈接時,它的目標是不太快地請求太多的文檔。SPIDER程序堅持機器人拒絕的標準。這個標準是機器人開發者之間的協議,允許WWW站點限制URL上的機器人的請求。通過使用這個限制訪問的標準,機器人將不檢索Web服務器希望拒絕的任何文檔。在檢查根URL前,程序檢查看是否有robots.txt文件在主目錄下。如果SPIDER程序發現robots.txt文件,將放棄搜索。另外,程序也檢查所有Web頁面中的META標記。如果發現一個META標記,它的NAME="ROBOTS" CONTENT ="NOINDEX,NOFOLLOW",則不索引那個頁面上的URL。

創建:

Windows 95

MFC/VC++ 5.0

WinInet.h 時間 9/25/97

WinInet.lib 時間 9/16/97

WinInet.dll 時間 9/18/97

來源:月光博客


Public @ 2022-07-19 16:22:28

BaiDuSpider百度蜘蛛占用流量,robots.txt設置

BaiDuSpider是百度搜索引擎自動抓取網頁的蜘蛛程序。由于蜘蛛程序需要不斷訪問網站上的頁面,所以會占用一定的流量資源。對于網站管理員來說,如果BaiDuSpider的訪問量過大,也會對網站的帶寬和性能造成一定的負擔。 為了避免BaiDuSpider的過度訪問,網站管理員可以通過在網站根目錄下創建robots.txt文件,來控制搜索引擎蜘蛛的訪問。通過設置robots.txt文件,可以告訴B

Public @ 2023-03-31 08:00:24

頭條搜索Bytespider IP反解析

反查IP站長可以通過DNS反查IP的方式判斷某只spider是否來自頭條搜索引擎。根據平臺不同驗證方法不同,如linux/windows/os三種平臺下的驗證方法分別如下在linux平臺下,您可以使用host ip命令反解ip來判斷是否來自Bytespider的抓取。Bytespider的hostname以*.bytedance.com的格式命名,非 *.bytedance.com即為冒充host

Public @ 2013-03-31 15:38:59

網站的搜索引擎蜘蛛抓取越多越好?事實未必

如此 實際上,搜索引擎蜘蛛抓取越多并不一定是越好的。這取決于您的網站是做什么的。如果您的網站有重要的動態內容,那么如果您的搜索引擎蜘蛛抓取過多,將會給您的網站帶來壓力,導致網站性能和速度下降。如果您的網站是基于靜態內容的,例如博客,則搜索引擎蜘蛛抓取更多是沒有問題的。

Public @ 2023-02-24 16:00:16

更多您感興趣的搜索

0.550139s
国产精品久久毛片av大全日韩| 亚洲小视频在线观看| 国产丝袜欧美中文另类| 成熟亚洲日本毛茸茸凸凹| 久久成人久久爱| 美女在线视频一区| 国产成人在线网站| 99久久99久久精品免费观看| 26uuu国产日韩综合| 欧美国产欧美亚州国产日韩mv天天看完整| 国产午夜精品一区二区三区四区 | 91av精品| 香蕉成人久久| 久久精品九九| 国产黄色精品网站| 国产日韩欧美高清在线| 亚洲欧美日韩一区| 一本色道久久综合精品竹菊| 91精品国产综合久久婷婷香蕉 | 色婷婷久久一区二区三区麻豆| 欧美亚洲国产一区二区三区va| 欧美大片一区二区三区| 在线观看精品国产视频| 57pao成人永久免费视频| 91麻豆福利| 嫩草在线视频| 成人国产精品| 精品国产乱码久久久久久蜜坠欲下 | 亚洲欧洲美洲综合色网| 日韩欧美精品网站| 亚洲精品一线二线三线| 久久在线免费视频| 快播av资源| 日本中文字幕在线观看| www成人在线视频| 蜜桃av一区二区三区电影| 高清不卡一区二区在线| 亚洲国产三级在线| 亚洲第一视频网| 国模精品视频一区二区| 蜜桃视频在线入口www| 亚洲成人人体| 成人久久电影| 狠狠网亚洲精品| 亚洲线精品一区二区三区八戒| 精品国产sm最大网站免费看| 性金发美女69hd大尺寸| 色吊丝在线永久观看最新版本| 欧美xxxx黑人又粗又长| 中文字幕亚洲影视| 韩国毛片一区二区三区| 午夜欧美大尺度福利影院在线看| 国产亚洲在线播放| 在线免费视频你懂得| 欧美激情不卡| 免费亚洲一区| 亚洲三级电影全部在线观看高清| 日韩精品一区二区三区中文不卡| 欧美亚洲在线播放| 国产欧美久久久久久久久| 欧美色资源站| 国产一区欧美日韩| 色哟哟国产精品免费观看| 久久视频在线看| 精品乱码一区二区三四区视频| 国产一区精品二区| 久久精品理论片| 色噜噜偷拍精品综合在线| 欧美大片在线看| 午夜免费播放观看在线视频| 色婷婷综合久久久久久| 懂色av一区二区三区免费看| 欧美日韩免费一区二区三区视频| 色综合久久88| 免费影视亚洲| 亚洲黄色视屏| 午夜日韩在线电影| 久久久亚洲国产| 超免费在线视频| 国产精品v欧美精品v日本精品动漫| 国产精品乱人伦| 日日骚av一区| av在线导航| 影音先锋久久资源网| 亚洲国产精品久久人人爱蜜臀| 欧美激情亚洲激情| 忘忧草在线影院两性视频| 欧美亚洲一区| 欧美久久久久久久久| 国产bdsm| 色天下一区二区三区| 国产色一区二区| 久久中文字幕在线视频| 超碰在线中文字幕| 天堂成人免费av电影一区| 色综合久久88色综合天天6| 国产精品久久久久久久电影 | 日韩久久精品| 亚洲色图清纯唯美| 久久人人爽人人爽人人片av高清| 国产社区精品视频| 日本怡春院一区二区| 91麻豆精品国产无毒不卡在线观看| h片免费观看| 亚洲精品自产拍| 一区二区欧美亚洲| 直接在线观看的三级网址| 亚洲经典在线看| 欧美日韩日日夜夜| 最新在线观看av网站| 少妇精品久久久一区二区三区| 1024国产精品| 国产精品久久久久久av福利| 免费成人蒂法| 午夜精品视频在线观看| 成人免费视频a| 色喇叭免费久久综合网| 色狠狠av一区二区三区| 爽爽视频在线观看| 一本色道久久| 亚洲精品97久久| 日韩免费黄色av| 男男激情在线| 国产精品成人**免费视频| 97aⅴ精品视频一二三区| 欧美大片在线看免费观看| 亚洲国产伊人| 亚洲免费在线电影| 免费裸体视频网站| 激情综合久久| 亚洲精品av在线播放| aa级大片免费在线观看| 成人免费毛片app| 欧美精品久久久久a| 精品丝袜久久| 精品国产欧美一区二区三区成人| 日韩伦理福利| 91年精品国产| 国产精品白嫩美女在线观看| 欧美日韩一二| 精品欧美黑人一区二区三区| 黄毛片在线观看| 久久久久久久久久久电影| 国产精自产拍久久久久久| 欧美精品一线| 中文字幕亚洲综合久久| 久久久免费毛片| 欧美剧情片在线观看| 日韩大片免费观看| 亚洲欧美偷拍三级| 国产视频第一区| 成人av网站在线观看| 国产主播欧美精品| 久久免费高清| 91国语精品自产拍在线观看性色 | 国产精品久久久久久久久久久新郎 | 国外亚洲成av人片在线观看| 天天做天天爱天天综合网2021 | 日韩中文字幕在线| 99亚洲乱人伦aⅴ精品| 91极品视觉盛宴| 污视频在线看网站| 日韩一区欧美一区| av播放在线观看| 久久综合久久综合久久| 免费播放av| 国产一区亚洲一区| 91精品久久久久久久久青青| 久久资源在线| 日韩美女视频中文字幕| 香蕉成人久久| 国产精品精品一区二区三区午夜版 | 久久久久久影视| 一级毛片视频| 国产成人av在线影院| 成年人羞羞的网站| 国产综合色精品一区二区三区| 国产精品女视频| 男人操女人的视频在线观看欧美| 欧美综合第一页| 天堂久久一区二区三区| 国产精品99久久久久久白浆小说| 久久精品官网| 国产精品自拍偷拍| 国产精品1区2区3区在线观看| 男人天堂免费视频| 99热在这里有精品免费| 污视频网站在线观看| 欧美激情一区二区三区| 国产一二区在线| 欧美日韩国产黄| 99久久精品一区二区成人| 欧美日韩国产综合久久| 东京久久高清| y97精品国产97久久久久久| 99久久这里只有精品| 久久免费观看视频| 秋霞电影网一区二区| 日韩黄色视屏| 亚洲欧洲国产日韩|