亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

爬取網(wǎng)站頁面的方法、裝置及系統(tǒng)與流程

文檔序號:11156972閱讀:413來源:國知局
爬取網(wǎng)站頁面的方法、裝置及系統(tǒng)與制造工藝

本發(fā)明涉及互聯(lián)網(wǎng)領(lǐng)域,尤其涉及一種爬取網(wǎng)站頁面的方法、裝置及系統(tǒng)。



背景技術(shù):

網(wǎng)絡(luò)爬蟲是一種自動獲取網(wǎng)頁內(nèi)容的程序,是搜索引擎的重要組成部分。在爬蟲爬取網(wǎng)站頁面內(nèi)容期間,對于網(wǎng)站域名的DNS(Domain Name System,域名系統(tǒng))解析工作是非常重要的。一個DNS域名的解析工作通常是將網(wǎng)站的域名轉(zhuǎn)換為IP(Internet Protocol,互聯(lián)網(wǎng))地址,但是在DNS解析域名IP的過程中可能存在各種隱患。例如,當(dāng)DNS服務(wù)器遭到污染時(例如受到黑客攻擊),DNS服務(wù)器對于一些網(wǎng)站域名的IP指向會被篡改,會導(dǎo)致爬蟲根據(jù)錯誤的IP地址,爬取錯誤的地址頁面。

發(fā)明人在實現(xiàn)本發(fā)明的過程中,發(fā)現(xiàn)至少存在如下問題:

當(dāng)DNS服務(wù)器遭到污染、導(dǎo)致對于一些網(wǎng)站域名的IP指向被篡改時,無法根據(jù)域名獲取正確IP地址。



技術(shù)實現(xiàn)要素:

鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上述問題的爬取網(wǎng)站頁面的方法、裝置及系統(tǒng)。

一方面,本發(fā)明提供一種爬取網(wǎng)站頁面的方法,所述方法包括:

獲取爬蟲爬取的超文本傳輸協(xié)議HTTP地址;

檢測所述HTTP地址是否異常;

當(dāng)檢測到所述HTTP地址異常時,按照預(yù)設(shè)規(guī)則修改所述HTTP地址;

將修改后的HTTP地址發(fā)送至預(yù)設(shè)域名系統(tǒng)DNS服務(wù)器,以使所述預(yù)設(shè)DNS服務(wù)器根據(jù)所述修改后的HTTP地址得到對應(yīng)的IP地址,所述IP地址與所述HTTP地址相對應(yīng);

接收所述預(yù)設(shè)DNS服務(wù)器發(fā)送的IP地址,訪問所述IP地址以爬取所 述HTTP地址對應(yīng)的網(wǎng)站頁面。

另一方面,本發(fā)明提供了一種爬取網(wǎng)站頁面的裝置,所述裝置包括:

獲取單元,用于獲取爬蟲爬取的超文本傳輸協(xié)議HTTP地址;

檢測單元,用于檢測所述獲取單元獲取的所述HTTP地址是否異常;

修改單元,用于當(dāng)所述檢測單元檢測到所述HTTP地址異常時,按照預(yù)設(shè)規(guī)則修改所述HTTP地址;

發(fā)送單元,用于將所述修改單元修改后的HTTP地址發(fā)送至預(yù)設(shè)域名系統(tǒng)DNS服務(wù)器,以使所述預(yù)設(shè)DNS服務(wù)器根據(jù)所述修改后的HTTP地址得到對應(yīng)的IP地址,所述IP地址與所述HTTP地址相對應(yīng);

訪問單元,用于接收所述預(yù)設(shè)DNS服務(wù)器發(fā)送的IP地址,訪問所述IP地址以爬取所述HTTP地址對應(yīng)的網(wǎng)站頁面。

借由上述技術(shù)方案,本發(fā)明提供的爬取網(wǎng)站頁面的方法、裝置及系統(tǒng),當(dāng)爬蟲爬取的HTTP地址異常時,可以將該HTTP地址轉(zhuǎn)發(fā)到預(yù)設(shè)DNS服務(wù)器,從所述預(yù)設(shè)DNS服務(wù)器獲取與所述HTTP地址對應(yīng)的正確的IP地址,從而使得所述爬蟲爬取正確的網(wǎng)站頁面內(nèi)容。

上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點能夠更明顯易懂,以下特舉本發(fā)明的具體實施方式。

附圖說明

通過閱讀下文優(yōu)選實施方式的詳細描述,各種其他的優(yōu)點和益處對于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實施方式的目的,而并不認為是對本發(fā)明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:

圖1示出了本發(fā)明實施例中的一種爬取網(wǎng)站頁面的方法流程示意圖;

圖2示出了本發(fā)明實施例中的另一種爬取網(wǎng)站頁面的方法流程示意圖;

圖3示出了本發(fā)明實施例中的一種爬取網(wǎng)站頁面的裝置框圖;

圖4示出了本發(fā)明實施例中的另一種爬取網(wǎng)站頁面的裝置框圖;

圖5示出了本發(fā)明實施例中的一種爬取網(wǎng)站頁面的系統(tǒng)框圖。

具體實施方式

下面將參照附圖更詳細地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應(yīng)當(dāng)理解,可以以各種形式實現(xiàn)本公開而不應(yīng)被這里闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達給本領(lǐng)域的技術(shù)人員。

本發(fā)明實施例提供了一種爬取網(wǎng)站頁面的方法,本實施例提供的方法適合應(yīng)用于爬蟲服務(wù)器,即部署有爬蟲的服務(wù)器。值得說明的是,本實施例提供的方法稍作適應(yīng)性修改,也可以適用于其他部署有爬蟲的網(wǎng)絡(luò)設(shè)備,對此不做限定。

為了便于理解,本實施例以爬蟲服務(wù)器為例進行說明。如圖1所示,本實施例提供的方法包括:

101、爬蟲服務(wù)器獲取爬蟲爬取的HTTP(HyperText Transfer Protocol,超文本傳輸協(xié)議)地址。

其中,爬蟲爬取的HTTP地址中包括待訪問頁面的域名。

102、爬蟲服務(wù)器檢測所述HTTP地址是否異常。

例如,當(dāng)所述HTTP地址在一些區(qū)域無法正常訪問時,可以判定所述HTTP地址發(fā)生異常。

103、當(dāng)檢測到所述HTTP地址異常時,爬蟲服務(wù)器按照預(yù)設(shè)規(guī)則修改所述HTTP地址。

104、爬蟲服務(wù)器將修改后的HTTP地址發(fā)送至預(yù)設(shè)DNS服務(wù)器,以使所述預(yù)設(shè)DNS服務(wù)器根據(jù)所述修改后的HTTP地址得到對應(yīng)的IP地址,所述IP地址與所述HTTP地址相對應(yīng)。

105、爬蟲服務(wù)器接收所述預(yù)設(shè)DNS服務(wù)器發(fā)送的IP地址,訪問所述IP地址以爬取所述HTTP地址對應(yīng)的網(wǎng)站頁面。

本實施例中,所述HTTP地址是指爬蟲爬取的地址。

本發(fā)明提供的爬取網(wǎng)站頁面的方法,當(dāng)爬蟲爬取的HTTP地址異常時,可以將該HTTP地址轉(zhuǎn)發(fā)到預(yù)設(shè)DNS服務(wù)器,從所述預(yù)設(shè)DNS服務(wù)器獲 取與所述HTTP地址對應(yīng)的正確的IP地址,從而使得所述爬蟲爬取正確的網(wǎng)站頁面內(nèi)容。

基于圖1所示實施例,本實施例還提供一種爬取網(wǎng)站頁面的方法,如圖2所示,所述方法包括:

201、爬蟲服務(wù)器獲取爬蟲爬取的HTTP地址。

為了便于理解,本實施例以爬蟲爬取到的HTTP地址為“http://www.baidu.com/index.htm”為例進行說明。

202、檢測所述HTTP網(wǎng)址是否存在無法正確訪問的記錄,即檢測“http://www.baidu.com/index.htm”是否存在無法正確訪問的記錄。

203、當(dāng)檢測到所述HTTP網(wǎng)址存在無法正確訪問的記錄時,確定所述HTTP網(wǎng)址存在異常。

例如,當(dāng)檢測到存在“http://www.baidu.com/index.htm”在一些省份區(qū)域無法正常訪問時,則判定該網(wǎng)址存在異常。

值得說明的是,步驟203由監(jiān)控模塊執(zhí)行,所述監(jiān)控模塊用于監(jiān)控網(wǎng)址在不同區(qū)域的訪問情況。所述監(jiān)控模塊可以是一個獨立的、與爬蟲服務(wù)器聯(lián)通的設(shè)備,也可以是配置在爬蟲服務(wù)器上的一個功能模塊,本實施例不做限定。

204、當(dāng)檢測到所述HTTP地址異常時,獲取預(yù)設(shè)DNS服務(wù)器的地址,爬蟲服務(wù)器將所述預(yù)設(shè)DNS服務(wù)器的地址添加到所述HTTP地址中,得到修改后的HTTP地址。其中,所述預(yù)設(shè)DNS服務(wù)器是運行正常的DNS服務(wù)器,所述DNS服務(wù)器具備執(zhí)行正確域名解析的能力。

例如,一種可能的修改方式是,修改后的HTTP地址為

“http://預(yù)設(shè)DNS服務(wù)器的IP地址/getHostPage?host=

www.baidu.com&address=http://www.baidu.com/index.htm”

例如,預(yù)設(shè)DNS服務(wù)器的地址為“192.168.3.133”,則修改后的HTTP地址為“http://192.168.3.133/getHostPage?host=

www.baidu.com&address=http://www.baidu.com/index.htm”。

205、爬蟲服務(wù)器基于所述修改后的HTTP地址中的所述預(yù)設(shè)DNS服務(wù)器的地址,確定所述預(yù)設(shè)DNS服務(wù)器,將所述修改后的HTTP地址發(fā)送 至所述預(yù)設(shè)DNS服務(wù)器。

206、所述預(yù)設(shè)DNS服務(wù)器對所述修改后的HTTP地址進行解析,得到所述爬蟲爬取的所述HTTP地址,查找與所述HTTP地址對應(yīng)的IP地址。

例如,預(yù)設(shè)DNS服務(wù)器對則修改后的HTTP地址“http://192.168.3.133/getHostPage?host=www.baidu.com&address=http://www.baidu.c om/index.htm”進行解析,得到爬蟲爬取的HTTP地址為“http://www.baidu.com/index.htm”,通過DNS映射確定對應(yīng)的IP地址,例如對應(yīng)的IP地址為“192.168.1.1”,則將所述爬蟲爬取的HTTP中的域名替換為所述IP地址,得到的結(jié)果為“http//192.168.1.1/index.htm”。

207、預(yù)設(shè)DNS服務(wù)器采用HTTP302協(xié)議將所述得到的IP地址發(fā)送給爬蟲服務(wù)器。

208、爬蟲服務(wù)器接收所述預(yù)設(shè)DNS服務(wù)器采用HTTP302協(xié)議發(fā)送的所述IP地址,根據(jù)所述IP地址跳轉(zhuǎn)至相應(yīng)網(wǎng)站頁面。

爬蟲服務(wù)器得到的是一個HTTP的跳轉(zhuǎn)地址,就像是在用瀏覽器訪問頁面時被自動跳轉(zhuǎn)到了別的網(wǎng)站一樣,爬蟲服務(wù)器拿到這個跳轉(zhuǎn)地址后隨即訪問這個跳轉(zhuǎn)地址,從而拿到了http://www.baidu.com/index.htm這個頁面的真實HTML內(nèi)容。

通過本實施例提供的爬取網(wǎng)站頁面的方法,當(dāng)爬蟲爬取的HTTP地址異常時,可以將該HTTP地址轉(zhuǎn)發(fā)到預(yù)設(shè)DNS服務(wù)器,從所述預(yù)設(shè)DNS服務(wù)器獲取與所述HTTP地址對應(yīng)的正確的IP地址,從而使得所述爬蟲爬取正確的網(wǎng)站頁面內(nèi)容,提升爬蟲爬取數(shù)據(jù)的質(zhì)量。

本發(fā)明實施例還提供了一種爬取網(wǎng)站頁面的裝置,能夠?qū)崿F(xiàn)上述圖1和圖2所示的方法實施例。如圖3所示,所述爬取網(wǎng)站頁面的裝置包括:

獲取單元31,用于獲取爬蟲爬取的超文本傳輸協(xié)議HTTP地址;

檢測單元32,用于檢測所述獲取單元31獲取的所述HTTP地址是否異常;

修改單元33,用于當(dāng)所述檢測單元32檢測到所述HTTP地址異常時,按照預(yù)設(shè)規(guī)則修改所述HTTP地址;

發(fā)送單元34,用于將所述修改單元33修改后的HTTP地址發(fā)送至預(yù)設(shè) 域名系統(tǒng)DNS服務(wù)器,以使所述預(yù)設(shè)DNS服務(wù)器根據(jù)所述修改后的HTTP地址得到對應(yīng)的IP地址,所述IP地址與所述HTTP地址相對應(yīng);

訪問單元35,用于接收所述預(yù)設(shè)DNS服務(wù)器發(fā)送的IP地址,訪問所述IP地址以爬取所述HTTP地址對應(yīng)的網(wǎng)站頁面。

本發(fā)明實施還提供一種爬取網(wǎng)站頁面的裝置,如圖4所示,

所述檢測單元32包括:

檢測模塊321,用于檢測所述HTTP網(wǎng)址是否存在無法正確訪問的記錄;

判斷模塊322,用于當(dāng)所述檢測模塊321檢測到所述HTTP網(wǎng)址存在無法正確訪問的記錄時,確定所述HTTP網(wǎng)址存在異常。

所述修改單元33包括:

獲取模塊331,用于獲取所述預(yù)設(shè)DNS服務(wù)器的地址;

修改模塊332,用于將所述獲取模塊331獲取的所述預(yù)設(shè)DNS服務(wù)器的地址添加到所述HTTP地址中,得到修改后的HTTP地址;

所述發(fā)送單元34,用于基于所述修改后的HTTP地址中的所述預(yù)設(shè)DNS服務(wù)器的地址,確定所述預(yù)設(shè)DNS服務(wù)器,將所述修改后的HTTP地址發(fā)送至所述預(yù)設(shè)DNS服務(wù)器。

所述訪問單元35,包括:

接收模塊351,用于接收所述預(yù)設(shè)DNS服務(wù)器采用HTTP302協(xié)議發(fā)送的所述IP地址;

調(diào)整模塊352,用于根據(jù)所述接收模塊351接收的所述IP地址跳轉(zhuǎn)至相應(yīng)網(wǎng)站頁面。

通過本實施例提供的爬取網(wǎng)站頁面的裝置,當(dāng)爬蟲爬取的HTTP地址異常時,可以將該HTTP地址轉(zhuǎn)發(fā)到預(yù)設(shè)DNS服務(wù)器,從所述預(yù)設(shè)DNS服務(wù)器獲取與所述HTTP地址對應(yīng)的正確的IP地址,從而使得所述爬蟲爬取正確的網(wǎng)站頁面內(nèi)容,提升爬蟲爬取數(shù)據(jù)的質(zhì)量。

本發(fā)明還一種爬取網(wǎng)站頁面的系統(tǒng),能夠?qū)崿F(xiàn)圖1和圖2所示的方法,如圖5所示,所述系統(tǒng)包括爬蟲服務(wù)器51,預(yù)設(shè)DNS服務(wù)器52;

所述爬蟲服務(wù)器51用于將異常的HTTP地址修改后發(fā)送給所述預(yù)設(shè) DNS服務(wù)器52;

所述預(yù)設(shè)DNS服務(wù)器52是運行正常的DNS服務(wù)器,所述DNS服務(wù)器具備執(zhí)行正確域名解析的能力;所述預(yù)設(shè)DNS服務(wù)器52用于接收修改后的HTTP地址,對所述修改后的HTTP地址進行解析,得到爬蟲爬取到的HTTP地址,查找與所述HTTP地址對應(yīng)的IP地址。

所述爬取網(wǎng)站頁面的裝置包括處理器和存儲器,上述獲取單元、檢測單元、修改單元、發(fā)送單元和訪問單元等均作為程序單元存儲在存儲器中,由處理器執(zhí)行存儲在存儲器中的上述程序單元來實現(xiàn)相應(yīng)的功能。

處理器中包含內(nèi)核,由內(nèi)核去存儲器中調(diào)取相應(yīng)的程序單元。內(nèi)核可以設(shè)置一個或以上,通過調(diào)整內(nèi)核參數(shù)來爬取網(wǎng)站頁面。

存儲器可能包括計算機可讀介質(zhì)中的非永久性存儲器,隨機存取存儲器(RAM)和/或非易失性內(nèi)存等形式,如只讀存儲器(ROM)或閃存(flash RAM),存儲器包括至少一個存儲芯片。

本申請還提供了一種計算機程序產(chǎn)品,當(dāng)在數(shù)據(jù)處理設(shè)備上執(zhí)行時,適于執(zhí)行初始化有如下方法步驟的程序代碼:獲取爬蟲爬取的HTTP地址;檢測所述HTTP地址是否異常;當(dāng)檢測到所述HTTP地址異常時,按照預(yù)設(shè)規(guī)則修改所述HTTP地址;將修改后的HTTP地址發(fā)送至預(yù)設(shè)DNS服務(wù)器,以使所述預(yù)設(shè)DNS服務(wù)器根據(jù)所述修改后的HTTP地址得到對應(yīng)的IP地址,所述IP地址與所述HTTP地址相對應(yīng);接收所述預(yù)設(shè)DNS服務(wù)器發(fā)送的IP地址,訪問所述IP地址以爬取所述HTTP地址對應(yīng)的網(wǎng)站頁面。

本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本申請的實施例可提供為方法、系統(tǒng)、或計算機程序產(chǎn)品。因此,本申請可采用完全硬件實施例、完全軟件實施例、或結(jié)合軟件和硬件方面的實施例的形式。而且,本申請可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(zhì)(包括但不限于磁盤存儲器、CD-ROM、光學(xué)存儲器等)上實施的計算機程序產(chǎn)品的形式。

本申請是參照根據(jù)本申請實施例的方法、設(shè)備(系統(tǒng))、和計算機程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計算機程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中 的流程和/或方框的結(jié)合??商峁┻@些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個機器,使得通過計算機或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。

這些計算機程序指令也可存儲在能引導(dǎo)計算機或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。

這些計算機程序指令也可裝載到計算機或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計算機或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計算機實現(xiàn)的處理,從而在計算機或其他可編程設(shè)備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。

在一個典型的配置中,計算設(shè)備包括一個或多個處理器(CPU)、輸入/輸出接口、網(wǎng)絡(luò)接口和內(nèi)存。

存儲器可能包括計算機可讀介質(zhì)中的非永久性存儲器,隨機存取存儲器(RAM)和/或非易失性內(nèi)存等形式,如只讀存儲器(ROM)或閃存(flash RAM)。存儲器是計算機可讀介質(zhì)的示例。

計算機可讀介質(zhì)包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術(shù)來實現(xiàn)信息存儲。信息可以是計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序的模塊或其他數(shù)據(jù)。計算機的存儲介質(zhì)的例子包括,但不限于相變內(nèi)存(PRAM)、靜態(tài)隨機存取存儲器(SRAM)、動態(tài)隨機存取存儲器(DRAM)、其他類型的隨機存取存儲器(RAM)、只讀存儲器(ROM)、電可擦除可編程只讀存儲器(EEPROM)、快閃記憶體或其他內(nèi)存技術(shù)、只讀光盤只讀存儲器(CD-ROM)、數(shù)字多功能光盤(DVD)或其他光學(xué)存儲、磁盒式磁帶,磁帶磁磁盤存儲或其他磁性存儲設(shè)備或任何其他非傳輸介質(zhì),可用于存儲可以被計算設(shè)備訪問的信息。按照本文中的界定,計算機可讀介質(zhì)不包括暫存電腦可讀媒體(transitory media),如調(diào)制的數(shù)據(jù)信號和載 波。

以上僅為本申請的實施例而已,并不用于限制本申請。對于本領(lǐng)域技術(shù)人員來說,本申請可以有各種更改和變化。凡在本申請的精神和原理之內(nèi)所作的任何修改、等同替換、改進等,均應(yīng)包含在本申請的權(quán)利要求范圍之內(nèi)。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1