本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,特別是涉及一種確定隱藏的URL的方法及裝置。
背景技術(shù):
搜索引擎是網(wǎng)絡(luò)信息搜索的主要工具,它能夠自動(dòng)從因特網(wǎng)搜集信息,并在經(jīng)過(guò)一定整理以后,提供給用戶進(jìn)行查詢的系統(tǒng)。搜索引擎在網(wǎng)絡(luò)中抓取網(wǎng)頁(yè)時(shí),通常使用網(wǎng)絡(luò)爬蟲(chóng)進(jìn)行網(wǎng)頁(yè)的抓取,最終將重要的網(wǎng)頁(yè)展示給用戶。抓取的策略中最常用的方法為先抓取起始網(wǎng)頁(yè)中鏈接的所有網(wǎng)頁(yè),然后再選擇其中一個(gè)鏈接的網(wǎng)頁(yè),繼續(xù)抓取在該網(wǎng)頁(yè)中鏈接的所有網(wǎng)頁(yè)。然而網(wǎng)站中的某些URL是對(duì)外隱藏的,且對(duì)于這種隱藏的URL,爬蟲(chóng)無(wú)法抓取到,由此使得搜索引擎搜索網(wǎng)頁(yè)的全面性降低,從而無(wú)法滿足用戶的搜索需求。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明提供的確定隱藏的URL的方法及裝置,能夠基于網(wǎng)站的已知URL來(lái)確定出其隱藏的URL。
本發(fā)明的目的是采用以下技術(shù)方案來(lái)實(shí)現(xiàn)的:
一方面,本發(fā)明提供了一種確定隱藏的URL的方法,所述方法包括:
獲取網(wǎng)站的已知統(tǒng)一資源定位符URL的相關(guān)信息,所述已知URL為爬蟲(chóng)能夠爬取到的URL,所述已知URL的相關(guān)信息包括用于擴(kuò)展URL的特征信息;
根據(jù)所述已知URL的相關(guān)信息中用于擴(kuò)展URL的特征信息,對(duì)所述已知URL進(jìn)行擴(kuò)展,獲得擴(kuò)展后的URL;
將所述擴(kuò)展后的URL發(fā)送給所述網(wǎng)站的服務(wù)器;
根據(jù)所述服務(wù)器返回的結(jié)果,確定所述擴(kuò)展后的URL是否為所述網(wǎng)站隱藏的URL。
可選的,若所述已知URL的相關(guān)信息包括用于指導(dǎo)搜索引擎爬取網(wǎng)站內(nèi)容的文件的文件名,則所述根據(jù)所述已知URL的相關(guān)信息中用于擴(kuò)展URL的特征信息,對(duì)所述已知URL進(jìn)行擴(kuò)展,獲得擴(kuò)展后的URL包括:
將所述文件名添加至所述已知URL中,獲得所述擴(kuò)展后的URL。
可選的,若所述已知URL的相關(guān)信息包括所述已知URL,則所述根據(jù)所述已知URL的相關(guān)信息中用于擴(kuò)展URL的特征信息,對(duì)所述已知URL進(jìn)行擴(kuò)展,獲得擴(kuò)展后的URL包括:
根據(jù)所述已知URL中特定位置處的特定字符,確定所述網(wǎng)站的開(kāi)發(fā)語(yǔ)言類(lèi)型;
根據(jù)確定的開(kāi)發(fā)語(yǔ)言類(lèi)型所對(duì)應(yīng)的固有目錄特征,對(duì)所述已知URL進(jìn)行擴(kuò)展,獲得所述擴(kuò)展后的URL。
可選的,若所述已知URL的相關(guān)信息包括所述已知URL對(duì)應(yīng)的超文本傳送協(xié)議HTTP請(qǐng)求的響應(yīng)頭,則所述根據(jù)所述已知URL的相關(guān)信息中用于擴(kuò)展URL的特征信息,對(duì)所述已知URL進(jìn)行擴(kuò)展,獲得擴(kuò)展后的URL包括:
對(duì)所述響應(yīng)頭進(jìn)行解析,獲得所述已知URL請(qǐng)求的文件類(lèi)型以及服務(wù)器的基本信息;
根據(jù)所述文件類(lèi)型對(duì)應(yīng)的固有目錄特征和/或所述服務(wù)器的基本信息對(duì)應(yīng)的固有目錄,對(duì)所述已知URL進(jìn)行擴(kuò)展,獲得所述擴(kuò)展后的URL。
可選的,所述服務(wù)器的基本信息包括以下任意一種或者幾種的組合:
服務(wù)器的類(lèi)型、服務(wù)器的版本、開(kāi)發(fā)語(yǔ)言的類(lèi)型以及開(kāi)發(fā)語(yǔ)言的版本。
可選的,若所述已知URL的相關(guān)信息包括所述已知URL的超文本標(biāo)記語(yǔ)言HTML頁(yè)面,則所述根據(jù)所述已知URL的相關(guān)信息中用于擴(kuò)展URL的特征信息,對(duì)所述已知URL進(jìn)行擴(kuò)展,獲得擴(kuò)展后的URL包括:
當(dāng)所述HTML頁(yè)面中記載有其他URL時(shí),根據(jù)所述其他URL對(duì)應(yīng)的固有目錄特征,對(duì)所述已知URL進(jìn)行擴(kuò)展,獲得所述擴(kuò)展后的URL;
當(dāng)所述HTML頁(yè)面中記載有其他開(kāi)發(fā)語(yǔ)言的語(yǔ)句時(shí),根據(jù)其他開(kāi)發(fā)語(yǔ)言的語(yǔ)句對(duì)應(yīng)的固有目錄特征,對(duì)所述已知URL進(jìn)行擴(kuò)展,獲得所述擴(kuò)展后的URL。
可選的,所述服務(wù)器返回的結(jié)果包括HTTP狀態(tài)碼。
另一方面,本發(fā)明提供了一種確定隱藏的URL的裝置,所述裝置包括:
獲取單元,用于獲取網(wǎng)站的已知統(tǒng)一資源定位符URL的相關(guān)信息,所述已知URL為爬蟲(chóng)能夠爬取到的URL,所述已知URL的相關(guān)信息包括用于擴(kuò)展URL的特征信息;
擴(kuò)展單元,用于根據(jù)所述已知URL的相關(guān)信息中用于擴(kuò)展URL的特征信息,對(duì)所述已知URL進(jìn)行擴(kuò)展,獲得擴(kuò)展后的URL;
發(fā)送單元,用于將所述擴(kuò)展單元獲得的所述擴(kuò)展后的URL發(fā)送給所述網(wǎng)站的服務(wù)器;
確定單元,用于根據(jù)所述服務(wù)器返回的結(jié)果,確定所述擴(kuò)展后的URL是否為所述網(wǎng)站隱藏的URL。
可選的,所述擴(kuò)展單元包括:
添加模塊,用于當(dāng)所述已知URL的相關(guān)信息包括用于指導(dǎo)搜索引擎爬取網(wǎng)站內(nèi)容的文件的文件名時(shí),將所述文件名添加至所述已知URL中,獲得所述擴(kuò)展后的URL。
可選的,所述擴(kuò)展單元包括:
確定模塊,用于當(dāng)所述已知URL的相關(guān)信息包括所述已知URL時(shí),根據(jù)所述已知URL中特定位置處的特定字符,確定所述網(wǎng)站的開(kāi)發(fā)語(yǔ)言類(lèi)型;
第一擴(kuò)展模塊,用于根據(jù)所述確定模塊確定的開(kāi)發(fā)語(yǔ)言類(lèi)型所對(duì)應(yīng)的固有目錄特征,對(duì)所述已知URL進(jìn)行擴(kuò)展,獲得所述擴(kuò)展后的URL。
可選的,所述擴(kuò)展單元包括:
解析模塊,用于當(dāng)所述已知URL的相關(guān)信息包括所述已知URL對(duì)應(yīng)的超文本傳送協(xié)議HTTP請(qǐng)求的響應(yīng)頭時(shí),對(duì)所述響應(yīng)頭進(jìn)行解析,獲得所述已知URL請(qǐng)求的文件類(lèi)型以及服務(wù)器的基本信息;
第二擴(kuò)展模塊,用于根據(jù)所述解析模塊獲得的所述文件類(lèi)型對(duì)應(yīng)的固有目錄特征和/或所述服務(wù)器的基本信息對(duì)應(yīng)的固有目錄特征,對(duì)所述已知URL進(jìn)行擴(kuò)展,獲得所述擴(kuò)展后的URL。
可選的,所述服務(wù)器的基本信息包括以下任意一種或者幾種的組合:
服務(wù)器的類(lèi)型、服務(wù)器的版本、開(kāi)發(fā)語(yǔ)言的類(lèi)型以及開(kāi)發(fā)語(yǔ)言的版本。
可選的,所述擴(kuò)展單元包括:
第三擴(kuò)展模塊,用于在所述已知URL的相關(guān)信息包括所述已知URL的超文本標(biāo)記語(yǔ)言HTML頁(yè)面的情況下,當(dāng)所述HTML頁(yè)面中記載有其他URL時(shí),根據(jù)所述其他URL對(duì)應(yīng)的固有目錄特征,對(duì)所述已知URL進(jìn)行擴(kuò)展,獲得所述擴(kuò)展后的URL;
第四擴(kuò)展模塊,用于當(dāng)所述HTML頁(yè)面中記載有其他開(kāi)發(fā)語(yǔ)言的語(yǔ)句時(shí),根據(jù)其他開(kāi)發(fā)語(yǔ)言的語(yǔ)句對(duì)應(yīng)的固有目錄特征,對(duì)所述已知URL進(jìn)行擴(kuò)展,獲得所述擴(kuò)展后的URL。
可選的,所述服務(wù)器返回的結(jié)果包括HTTP狀態(tài)碼。
借由上述技術(shù)方案,本發(fā)明提供的確定隱藏的URL的方法及裝置,能夠根據(jù)已知URL的相關(guān)信息中用于擴(kuò)展URL的特征信息,對(duì)該已知URL進(jìn)行擴(kuò)展,獲得已知URL所屬網(wǎng)站可能存在的URL,并通過(guò)將擴(kuò)展后的URL發(fā)送給網(wǎng)站服務(wù)器進(jìn)行驗(yàn)證,來(lái)進(jìn)一步確定該擴(kuò)展后的URL是否為網(wǎng)站隱藏的URL,從而使得搜索引擎可以抓取之前難以抓取到的網(wǎng)頁(yè),進(jìn)而提高了搜索引擎搜索網(wǎng)頁(yè)的全面性。
上述說(shuō)明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說(shuō)明書(shū)的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本發(fā)明的具體實(shí)施方式。
附圖說(shuō)明
通過(guò)閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對(duì)于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實(shí)施方式的目的,而并不認(rèn)為是對(duì)本發(fā)明的限制。而且在整個(gè)附圖中,用相同的參考符號(hào)表示相同的部件。在附圖中:
圖1示出了本發(fā)明實(shí)施例提供的一種確定隱藏的URL的方法的流程圖;
圖2示出了本發(fā)明實(shí)施例提供的一種確定隱藏的URL的裝置的組成框圖;
圖3示出了本發(fā)明實(shí)施例提供的另一種確定隱藏的URL的裝置的組成框圖。
具體實(shí)施方式
下面將參照附圖更詳細(xì)地描述本公開(kāi)的示例性實(shí)施例。雖然附圖中顯示了本公開(kāi)的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開(kāi)而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本公開(kāi),并且能夠?qū)⒈竟_(kāi)的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。
為了確定網(wǎng)站隱藏的URL,本發(fā)明實(shí)施例提供了一種確定隱藏的URL的方法,如圖1所示,所述方法主要包括:
101、獲取網(wǎng)站的已知URL的相關(guān)信息。
其中,所述已知URL為爬蟲(chóng)能夠爬取到的URL,所述已知URL的相關(guān)信息包括用于擴(kuò)展URL的特征信息。URL可以由多級(jí)目錄組成,且每級(jí)目錄由一些能夠代表網(wǎng)站、區(qū)域、主題的字符串構(gòu)成。
由于為了使得網(wǎng)絡(luò)中的URL規(guī)范化,在為網(wǎng)站中的各個(gè)網(wǎng)頁(yè)創(chuàng)建URL時(shí),往往會(huì)基于某些固有目錄特征來(lái)創(chuàng)建出不同URL,所以可以先確定固有目錄特征,再根據(jù)固有目錄特征對(duì)已知URL進(jìn)行擴(kuò)展。又由于當(dāng)網(wǎng)站服務(wù)器的類(lèi)型、服務(wù)器的版本、開(kāi)發(fā)語(yǔ)言的類(lèi)型、開(kāi)發(fā)語(yǔ)言的版本以及文件類(lèi)型等不同時(shí),固有目錄特征往往有所不同,所以用于擴(kuò)展URL的特征信息可以包括網(wǎng)站服務(wù)器的類(lèi)型、網(wǎng)站服務(wù)器的版本、開(kāi)發(fā)語(yǔ)言的類(lèi)型、開(kāi)發(fā)語(yǔ)言的版本以及文件類(lèi)型等信息。
在實(shí)際應(yīng)用中,包含上述用于擴(kuò)展URL的特征信息的內(nèi)容包括但不限于:已知URL、所述已知URL對(duì)應(yīng)的HTTP(HyperText Transfer Protocol,超文本傳輸協(xié)議)請(qǐng)求的響應(yīng)頭、所述已知URL的HTML(HyperText Markup Language,超文本標(biāo)記語(yǔ)言)頁(yè)面,因此已知URL的相關(guān)信息包括但不限于:已知URL、所述已知URL對(duì)應(yīng)的HTTP請(qǐng)求的響應(yīng)頭、所述已知URL的HTML頁(yè)面。
此外,由于用于指導(dǎo)搜索引擎爬取網(wǎng)站內(nèi)容的文件也可能有對(duì)應(yīng)的網(wǎng)頁(yè),所以也可以基于用于指導(dǎo)搜索引擎爬取網(wǎng)站內(nèi)容的文件來(lái)擴(kuò)展URL。相應(yīng)地,已知URL的相關(guān)信息還可以包括用于指導(dǎo)搜索引擎爬取網(wǎng)站內(nèi)容的文件的文件名,用于擴(kuò)展URL的特征信息還可以包括用于指導(dǎo)搜索引擎爬取網(wǎng)站內(nèi)容的文件的文件名。
102、根據(jù)所述已知URL的相關(guān)信息中用于擴(kuò)展URL的特征信息,對(duì)所述已知URL進(jìn)行擴(kuò)展,獲得擴(kuò)展后的URL。
在上述步驟中提及,當(dāng)所述已知URL的相關(guān)信息中包括已知URL、所述已知URL對(duì)應(yīng)的HTTP請(qǐng)求的響應(yīng)頭、所述已知URL的HTML頁(yè)面時(shí),不同用于擴(kuò)展URL的特征信息可能對(duì)應(yīng)有不同的固有目錄特征,并且網(wǎng)站的URL往往根據(jù)固有目錄特征而創(chuàng)建,因此在獲取已知URL的相關(guān)信息后,可以先從該已知URL的相關(guān)信息中提取用于擴(kuò)展URL的特征信息,然后再根據(jù)提取的用于擴(kuò)展URL的特征信息對(duì)應(yīng)的固有目錄特征,對(duì)所述已知URL進(jìn)行擴(kuò)展,獲得擴(kuò)展后的URL;當(dāng)所述已知URL的相關(guān)信息中包括用于指導(dǎo)搜索引擎爬取網(wǎng)站內(nèi)容的文件的文件名時(shí),可以根據(jù)所述文件名對(duì)所述已知URL進(jìn)行擴(kuò)展,獲得擴(kuò)展后的URL。
103、將所述擴(kuò)展后的URL發(fā)送給所述網(wǎng)站的服務(wù)器。
由于基于已知URL的相關(guān)信息創(chuàng)建出的URL并不一定真實(shí)存在,所以在獲得所述擴(kuò)展后的URL后,可以將所述擴(kuò)展后的URL發(fā)送給網(wǎng)站服務(wù)器,以便網(wǎng)站服務(wù)器查找所述擴(kuò)展后的URL是否存在。
104、根據(jù)所述服務(wù)器返回的結(jié)果,確定所述擴(kuò)展后的URL是否為所述網(wǎng)站隱藏的URL。
當(dāng)網(wǎng)站服務(wù)器接收到URL確定終端發(fā)送的URL后,可以在預(yù)設(shè)存儲(chǔ)空間(例如數(shù)據(jù)庫(kù))中查找該URL,并將查找結(jié)果反饋給URL確定終端,以便URL確定終端根據(jù)反饋的結(jié)果,確定所述擴(kuò)展后的URL是否為所述網(wǎng)站隱藏的URL。
具體的,由于HTTP狀態(tài)碼是用以表示網(wǎng)站服務(wù)器HTTP響應(yīng)狀態(tài)的3位數(shù)字代碼,所以URL確定終端可以接收到HTTP狀態(tài)碼,并且根據(jù)HTTP狀態(tài)碼直接來(lái)確定所述擴(kuò)展后的URL是否為所述網(wǎng)站隱藏的URL。例如,當(dāng)HTTP狀態(tài)碼為200時(shí),URL確定終端能夠確定請(qǐng)求已成功,并請(qǐng)求所希望的響應(yīng)頭或數(shù)據(jù)體將隨此響應(yīng)返回,從而能夠確定所述擴(kuò)展后的URL為所述網(wǎng)站隱藏的URL;當(dāng)HTTP狀態(tài)碼為404時(shí),URL確定終端能夠確定請(qǐng)求失敗,并請(qǐng)求所希望得到的資源未被在服務(wù)器上發(fā)現(xiàn),從而確定所述擴(kuò)展后的URL不是所述網(wǎng)站隱藏的URL。
本發(fā)明實(shí)施例提供的確定隱藏的URL的方法,能夠根據(jù)已知URL的相關(guān)信息中用于擴(kuò)展URL的特征信息,對(duì)該已知URL進(jìn)行擴(kuò)展,獲得已知URL所屬網(wǎng)站可能存在的URL,并通過(guò)將擴(kuò)展后的URL發(fā)送給網(wǎng)站服務(wù)器進(jìn)行驗(yàn)證,來(lái)進(jìn)一步確定該擴(kuò)展后的URL是否為網(wǎng)站隱藏的URL,從而使得搜索引擎可以抓取之前難以抓取到的網(wǎng)頁(yè),進(jìn)而提高了搜索引擎搜索網(wǎng)頁(yè)的全面性。
可選的,下面對(duì)不同已知URL的相關(guān)信息所對(duì)應(yīng)的不同URL擴(kuò)展方法進(jìn)行詳細(xì)介紹:
(一)若所述已知URL的相關(guān)信息包括用于指導(dǎo)搜索引擎爬取網(wǎng)站內(nèi)容的文件的文件名,則將所述文件名添加至所述已知URL中,獲得所述擴(kuò)展后的URL。
其中,用于指導(dǎo)搜索引擎爬取網(wǎng)站內(nèi)容的文件主要包括robots.txt、sitemap.xml。由于用于指導(dǎo)搜索引擎爬取網(wǎng)站內(nèi)容的文件也可能有對(duì)應(yīng)的網(wǎng)頁(yè),所以可以將該文件的文件名添加至已知URL中(例如添加至已知URL的尾部),從而獲得擴(kuò)展后的URL。
示例性的,若已知URL為http://abc.com/d.php,則可以在該URL的后面增加robots.txt或者sitemap.xml,即擴(kuò)展后的URL可以包括http://abc.com/d.php/robots.txt以及http://abc.com/d.php/sitemap.xml。
此外,由于robots.txt、sitemap.xml可以指導(dǎo)搜索引擎哪些網(wǎng)頁(yè)可以爬取,哪些網(wǎng)頁(yè)不能爬取,所以若robots.txt、sitemap.xml對(duì)應(yīng)的網(wǎng)頁(yè)存在,則還可以從這些網(wǎng)頁(yè)中爬取之前爬取不到的URL。
(二)若所述已知URL的相關(guān)信息包括所述已知URL,則根據(jù)所述已知URL中特定位置處的特定字符,確定所述網(wǎng)站的開(kāi)發(fā)語(yǔ)言類(lèi)型;根據(jù)確定的開(kāi)發(fā)語(yǔ)言類(lèi)型所對(duì)應(yīng)的固有目錄特征,對(duì)所述已知URL進(jìn)行擴(kuò)展,獲得所述擴(kuò)展后的URL。
其中,特定位置可以為已知URL的尾部,也可以為其他位置,特定字符可以為文件名的后綴,也可以為其他信息。
示例性的,若已知URL為http://abc.com/d.php,則URL確定終端可以根據(jù)“d.php”的后綴確定網(wǎng)站的開(kāi)發(fā)語(yǔ)言類(lèi)型為php,從而可以根據(jù)php類(lèi)型的開(kāi)發(fā)語(yǔ)言對(duì)應(yīng)的固有目錄特征,對(duì)該已知URL進(jìn)行擴(kuò)展,獲得擴(kuò)展后的URL。
(三)若所述已知URL的相關(guān)信息包括所述已知URL對(duì)應(yīng)的HTTP請(qǐng)求的響應(yīng)頭,則對(duì)所述響應(yīng)頭進(jìn)行解析,獲得所述已知URL請(qǐng)求的文件類(lèi)型以及服務(wù)器的基本信息;根據(jù)所述文件類(lèi)型對(duì)應(yīng)的固有目錄特征和/或所述服務(wù)器的基本信息對(duì)應(yīng)的固有目錄特征,對(duì)所述已知URL進(jìn)行擴(kuò)展,獲得所述擴(kuò)展后的URL。
其中,所述服務(wù)器的基本信息包括以下任意一種或者幾種的組合:服務(wù)器的類(lèi)型、服務(wù)器的版本、開(kāi)發(fā)語(yǔ)言的類(lèi)型以及開(kāi)發(fā)語(yǔ)言的版本。在獲得文件類(lèi)型、服務(wù)器的類(lèi)型、服務(wù)器的版本、開(kāi)發(fā)語(yǔ)言的類(lèi)型以及開(kāi)發(fā)語(yǔ)言的版本后,可以分別根據(jù)文件類(lèi)型對(duì)應(yīng)的固有目錄特征、由服務(wù)器的類(lèi)型以及服務(wù)器的版本相結(jié)合所對(duì)應(yīng)的固有目錄特征、由開(kāi)發(fā)語(yǔ)言的類(lèi)型以及開(kāi)發(fā)語(yǔ)言的版本相結(jié)合所對(duì)應(yīng)的固有目錄特征,對(duì)所述已知URL進(jìn)行擴(kuò)展,也可以將上述固有目錄特征進(jìn)行相結(jié)合或者上述用于擴(kuò)展URL的特征信息相結(jié)合所對(duì)應(yīng)的固有目錄特征,對(duì)所述已知URL進(jìn)行擴(kuò)展。
示例性的,若響應(yīng)頭包括:{'Date':['Fri,04Mar 2016 07:27:26GMT'],'Content-Type':['text/html'],'X-Powered-By':['PHP/7.0.13'],'Server':['nginx/1.4.1']},則可以確定文件類(lèi)型為“text/html”,服務(wù)器的基本信息中開(kāi)發(fā)語(yǔ)言的類(lèi)型及版本為“PHP/7.0.13”,服務(wù)器類(lèi)型及版本為“nginx/1.4.1”,從而可以根據(jù)文件類(lèi)型對(duì)應(yīng)的固有目錄特征和/或服務(wù)器的基本信息對(duì)應(yīng)的固有目錄特征對(duì)所述已知URL進(jìn)行擴(kuò)展,獲得所述擴(kuò)展后的URL。
(四)若所述已知URL的相關(guān)信息包括所述已知URL的HTML頁(yè)面,則當(dāng)所述HTML頁(yè)面中記載有其他URL時(shí),根據(jù)所述其他URL對(duì)應(yīng)的固有目錄特征,對(duì)所述已知URL進(jìn)行擴(kuò)展,獲得所述擴(kuò)展后的URL;當(dāng)所述HTML頁(yè)面中記載有其他開(kāi)發(fā)語(yǔ)言的語(yǔ)句時(shí),根據(jù)其他開(kāi)發(fā)語(yǔ)言的語(yǔ)句對(duì)應(yīng)的固有目錄特征,對(duì)所述已知URL進(jìn)行擴(kuò)展,獲得所述擴(kuò)展后的URL。
其中,HTML頁(yè)面中記載的其他URL可能為單個(gè)URL,也可能為URL集合。確定HTML頁(yè)面中是否含有其他開(kāi)發(fā)語(yǔ)言的語(yǔ)句的實(shí)現(xiàn)方式可以為關(guān)鍵詞搜索的方式,也可以為正則表達(dá)式匹配的方式。由于HTML頁(yè)面的body部分存在其他開(kāi)發(fā)語(yǔ)言的語(yǔ)句的可能性比較大,所以可以直接從body部分搜索是否含有其他開(kāi)發(fā)語(yǔ)言的語(yǔ)句。
示例性的,若HTML頁(yè)面中含有URL集合["http://testphp.vulnweb.com/login.php","http://testphp.vulnweb.com/flash/","http://testphp.vulnweb.com/blacklist/","http://testphp.vulnweb.com/activity/bac kup.tar"],則可以根據(jù)該URL集合對(duì)應(yīng)的固有目錄特征,對(duì)已知URL進(jìn)行擴(kuò)展,獲得擴(kuò)展后的URL。
進(jìn)一步的,依據(jù)圖1所示的方法,本發(fā)明的另一個(gè)實(shí)施例還提供了一種確定隱藏的URL的裝置,如圖2所示,所述裝置主要包括:獲取單元21、擴(kuò)展單元22、發(fā)送單元23以及確定單元24。其中,
獲取單元21,用于獲取網(wǎng)站的已知統(tǒng)一資源定位符URL的相關(guān)信息,所述已知URL為爬蟲(chóng)能夠爬取到的URL,所述已知URL的相關(guān)信息包括用于擴(kuò)展URL的特征信息;
其中,URL可以由多級(jí)目錄組成,且每級(jí)目錄由一些能夠代表網(wǎng)站、區(qū)域、主題的字符串構(gòu)成。已知URL的相關(guān)信息包括但不限于:已知URL、所述已知URL對(duì)應(yīng)的HTTP請(qǐng)求的響應(yīng)頭、所述已知URL的HTML頁(yè)面。以及用于指導(dǎo)搜索引擎爬取網(wǎng)站內(nèi)容的文件的文件名。用于擴(kuò)展URL的特征信息可以包括網(wǎng)站服務(wù)器的類(lèi)型、網(wǎng)站服務(wù)器的版本、開(kāi)發(fā)語(yǔ)言的類(lèi)型、開(kāi)發(fā)語(yǔ)言的版本、文件類(lèi)型以及用于指導(dǎo)搜索引擎爬取網(wǎng)站內(nèi)容的文件的文件名等信息。
擴(kuò)展單元22,用于根據(jù)所述已知URL的相關(guān)信息中用于擴(kuò)展URL的特征信息,對(duì)所述已知URL進(jìn)行擴(kuò)展,獲得擴(kuò)展后的URL;
發(fā)送單元23,用于將所述擴(kuò)展單元22獲得的所述擴(kuò)展后的URL發(fā)送給所述網(wǎng)站的服務(wù)器;
確定單元24,用于根據(jù)所述服務(wù)器返回的結(jié)果,確定所述擴(kuò)展后的URL是否為所述網(wǎng)站隱藏的URL。
可選的,如圖3所示,所述擴(kuò)展單元22包括:
添加模塊221,用于當(dāng)所述已知URL的相關(guān)信息包括用于指導(dǎo)搜索引擎爬取網(wǎng)站內(nèi)容的文件的文件名時(shí),將所述文件名添加至所述已知URL中,獲得所述擴(kuò)展后的URL。
可選的,如圖3所示,所述擴(kuò)展單元22包括:
確定模塊222,用于當(dāng)所述已知URL的相關(guān)信息包括所述已知URL時(shí),根據(jù)所述已知URL中特定位置處的特定字符,確定所述網(wǎng)站的開(kāi)發(fā)語(yǔ)言類(lèi)型;
第一擴(kuò)展模塊223,用于根據(jù)所述確定模塊222確定的開(kāi)發(fā)語(yǔ)言類(lèi)型所對(duì)應(yīng)的固有目錄特征,對(duì)所述已知URL進(jìn)行擴(kuò)展,獲得所述擴(kuò)展后的URL。
可選的,如圖3所示,所述擴(kuò)展單元22包括:
解析模塊224,用于當(dāng)所述已知URL的相關(guān)信息包括所述已知URL對(duì)應(yīng)的超文本傳送協(xié)議HTTP請(qǐng)求的響應(yīng)頭時(shí),對(duì)所述響應(yīng)頭進(jìn)行解析,獲得所述已知URL請(qǐng)求的文件類(lèi)型以及服務(wù)器的基本信息;
第二擴(kuò)展模塊225,用于根據(jù)所述解析模塊224獲得的所述文件類(lèi)型對(duì)應(yīng)的固有目錄特征和/或所述服務(wù)器的基本信息對(duì)應(yīng)的固有目錄特征,對(duì)所述已知URL進(jìn)行擴(kuò)展,獲得所述擴(kuò)展后的URL。
可選的,所述服務(wù)器的基本信息包括以下任意一種或者幾種的組合:
服務(wù)器的類(lèi)型、服務(wù)器的版本、開(kāi)發(fā)語(yǔ)言的類(lèi)型以及開(kāi)發(fā)語(yǔ)言的版本。
可選的,如圖3所示,所述擴(kuò)展單元22包括:
第三擴(kuò)展模塊226,用于在所述已知URL的相關(guān)信息包括所述已知URL的超文本標(biāo)記語(yǔ)言HTML頁(yè)面的情況下,當(dāng)所述HTML頁(yè)面中記載有其他URL時(shí),根據(jù)所述其他URL對(duì)應(yīng)的固有目錄特征,對(duì)所述已知URL進(jìn)行擴(kuò)展,獲得所述擴(kuò)展后的URL;
第四擴(kuò)展模塊227,用于當(dāng)所述HTML頁(yè)面中記載有其他開(kāi)發(fā)語(yǔ)言的語(yǔ)句時(shí),根據(jù)其他開(kāi)發(fā)語(yǔ)言的語(yǔ)句對(duì)應(yīng)的固有目錄特征,對(duì)所述已知URL進(jìn)行擴(kuò)展,獲得所述擴(kuò)展后的URL。
可選的,所述服務(wù)器返回的結(jié)果包括HTTP狀態(tài)碼。
由于HTTP狀態(tài)碼是用以表示網(wǎng)站服務(wù)器HTTP響應(yīng)狀態(tài)的3位數(shù)字代碼,所以URL確定終端可以接收到HTTP狀態(tài)碼,并且根據(jù)HTTP狀態(tài)碼直接來(lái)確定所述擴(kuò)展后的URL是否為所述網(wǎng)站隱藏的URL。
本發(fā)明實(shí)施例提供的確定隱藏的URL的裝置,能夠根據(jù)已知URL的相關(guān)信息中用于擴(kuò)展URL的特征信息,對(duì)該已知URL進(jìn)行擴(kuò)展,獲得已知URL所屬網(wǎng)站可能存在的URL,并通過(guò)將擴(kuò)展后的URL發(fā)送給網(wǎng)站服務(wù)器進(jìn)行驗(yàn)證,來(lái)進(jìn)一步確定該擴(kuò)展后的URL是否為網(wǎng)站隱藏的URL,從而使得搜索引擎可以抓取之前難以抓取到的網(wǎng)頁(yè),進(jìn)而提高了搜索引擎搜索網(wǎng)頁(yè)的全面性。
本發(fā)明實(shí)施例還提供了:
A1、一種確定隱藏的URL的方法,所述方法包括:
獲取網(wǎng)站的已知統(tǒng)一資源定位符URL的相關(guān)信息,所述已知URL為爬蟲(chóng)能夠爬取到的URL,所述已知URL的相關(guān)信息包括用于擴(kuò)展URL的特征信息;
根據(jù)所述已知URL的相關(guān)信息中用于擴(kuò)展URL的特征信息,對(duì)所述已知URL進(jìn)行擴(kuò)展,獲得擴(kuò)展后的URL;
將所述擴(kuò)展后的URL發(fā)送給所述網(wǎng)站的服務(wù)器;
根據(jù)所述服務(wù)器返回的結(jié)果,確定所述擴(kuò)展后的URL是否為所述網(wǎng)站隱藏的URL。
A2、根據(jù)A1所述的方法,若所述已知URL的相關(guān)信息包括用于指導(dǎo)搜索引擎爬取網(wǎng)站內(nèi)容的文件的文件名,則所述根據(jù)所述已知URL的相關(guān)信息中用于擴(kuò)展URL的特征信息,對(duì)所述已知URL進(jìn)行擴(kuò)展,獲得擴(kuò)展后的URL包括:
將所述文件名添加至所述已知URL中,獲得所述擴(kuò)展后的URL。
A3、根據(jù)A1所述的方法,若所述已知URL的相關(guān)信息包括所述已知URL,則所述根據(jù)所述已知URL的相關(guān)信息中用于擴(kuò)展URL的特征信息,對(duì)所述已知URL進(jìn)行擴(kuò)展,獲得擴(kuò)展后的URL包括:
根據(jù)所述已知URL中特定位置處的特定字符,確定所述網(wǎng)站的開(kāi)發(fā)語(yǔ)言類(lèi)型;
根據(jù)確定的開(kāi)發(fā)語(yǔ)言類(lèi)型所對(duì)應(yīng)的固有目錄特征,對(duì)所述已知URL進(jìn)行擴(kuò)展,獲得所述擴(kuò)展后的URL。
A4、根據(jù)A1所述的方法,若所述已知URL的相關(guān)信息包括所述已知URL對(duì)應(yīng)的超文本傳送協(xié)議HTTP請(qǐng)求的響應(yīng)頭,則所述根據(jù)所述已知URL的相關(guān)信息中用于擴(kuò)展URL的特征信息,對(duì)所述已知URL進(jìn)行擴(kuò)展,獲得擴(kuò)展后的URL包括:
對(duì)所述響應(yīng)頭進(jìn)行解析,獲得所述已知URL請(qǐng)求的文件類(lèi)型以及服務(wù)器的基本信息;
根據(jù)所述文件類(lèi)型對(duì)應(yīng)的固有目錄特征和/或所述服務(wù)器的基本信息對(duì)應(yīng)的固有目錄特征,對(duì)所述已知URL進(jìn)行擴(kuò)展,獲得所述擴(kuò)展后的URL。
A5、根據(jù)A4所述的方法,所述服務(wù)器的基本信息包括以下任意一種或者幾種的組合:
服務(wù)器的類(lèi)型、服務(wù)器的版本、開(kāi)發(fā)語(yǔ)言的類(lèi)型以及開(kāi)發(fā)語(yǔ)言的版本。
A6、根據(jù)A1所述的方法,若所述已知URL的相關(guān)信息包括所述已知URL的超文本標(biāo)記語(yǔ)言HTML頁(yè)面,則所述根據(jù)所述已知URL的相關(guān)信息中用于擴(kuò)展URL的特征信息,對(duì)所述已知URL進(jìn)行擴(kuò)展,獲得擴(kuò)展后的URL包括:
當(dāng)所述HTML頁(yè)面中記載有其他URL時(shí),根據(jù)所述其他URL對(duì)應(yīng)的固有目錄特征,對(duì)所述已知URL進(jìn)行擴(kuò)展,獲得所述擴(kuò)展后的URL;
當(dāng)所述HTML頁(yè)面中記載有其他開(kāi)發(fā)語(yǔ)言的語(yǔ)句時(shí),根據(jù)其他開(kāi)發(fā)語(yǔ)言的語(yǔ)句對(duì)應(yīng)的固有目錄特征,對(duì)所述已知URL進(jìn)行擴(kuò)展,獲得所述擴(kuò)展后的URL。
A7、根據(jù)A1至A6中任一項(xiàng)所述的方法,所述服務(wù)器返回的結(jié)果包括HTTP狀態(tài)碼。
B8、一種確定隱藏的URL的裝置,所述裝置包括:
獲取單元,用于獲取網(wǎng)站的已知統(tǒng)一資源定位符URL的相關(guān)信息,所述已知URL為爬蟲(chóng)能夠爬取到的URL,所述已知URL的相關(guān)信息包括用于擴(kuò)展URL的特征信息;
擴(kuò)展單元,用于根據(jù)所述已知URL的相關(guān)信息中用于擴(kuò)展URL的特征信息,對(duì)所述已知URL進(jìn)行擴(kuò)展,獲得擴(kuò)展后的URL;
發(fā)送單元,用于將所述擴(kuò)展單元獲得的所述擴(kuò)展后的URL發(fā)送給所述網(wǎng)站的服務(wù)器;
確定單元,用于根據(jù)所述服務(wù)器返回的結(jié)果,確定所述擴(kuò)展后的URL是否為所述網(wǎng)站隱藏的URL。
B9、根據(jù)B8所述的裝置,所述擴(kuò)展單元包括:
添加模塊,用于當(dāng)所述已知URL的相關(guān)信息包括用于指導(dǎo)搜索引擎爬取網(wǎng)站內(nèi)容的文件的文件名時(shí),將所述文件名添加至所述已知URL中,獲得所述擴(kuò)展后的URL。
B10、根據(jù)B9所述的裝置,所述擴(kuò)展單元包括:
確定模塊,用于當(dāng)所述已知URL的相關(guān)信息包括所述已知URL時(shí),根據(jù)所述已知URL中特定位置處的特定字符,確定所述網(wǎng)站的開(kāi)發(fā)語(yǔ)言類(lèi)型;
第一擴(kuò)展模塊,用于根據(jù)所述確定模塊確定的開(kāi)發(fā)語(yǔ)言類(lèi)型所對(duì)應(yīng)的固有目錄特征,對(duì)所述已知URL進(jìn)行擴(kuò)展,獲得所述擴(kuò)展后的URL。
B11、根據(jù)B8所述的裝置,所述擴(kuò)展單元包括:
解析模塊,用于當(dāng)所述已知URL的相關(guān)信息包括所述已知URL對(duì)應(yīng)的超文本傳送協(xié)議HTTP請(qǐng)求的響應(yīng)頭時(shí),對(duì)所述響應(yīng)頭進(jìn)行解析,獲得所述已知URL請(qǐng)求的文件類(lèi)型以及服務(wù)器的基本信息;
第二擴(kuò)展模塊,用于根據(jù)所述解析模塊獲得的所述文件類(lèi)型對(duì)應(yīng)的固有目錄特征和/或所述服務(wù)器的基本信息對(duì)應(yīng)的固有目錄特征,對(duì)所述已知URL進(jìn)行擴(kuò)展,獲得所述擴(kuò)展后的URL。
B12、根據(jù)B11所述的裝置,所述服務(wù)器的基本信息包括以下任意一種或者幾種的組合:
服務(wù)器的類(lèi)型、服務(wù)器的版本、開(kāi)發(fā)語(yǔ)言的類(lèi)型以及開(kāi)發(fā)語(yǔ)言的版本。
B13、根據(jù)B8所述的裝置,所述擴(kuò)展單元包括:
第三擴(kuò)展模塊,用于在所述已知URL的相關(guān)信息包括所述已知URL的超文本標(biāo)記語(yǔ)言HTML頁(yè)面的情況下,當(dāng)所述HTML頁(yè)面中記載有其他URL時(shí),根據(jù)所述其他URL對(duì)應(yīng)的固有目錄特征,對(duì)所述已知URL進(jìn)行擴(kuò)展,獲得所述擴(kuò)展后的URL;
第四擴(kuò)展模塊,用于當(dāng)所述HTML頁(yè)面中記載有其他開(kāi)發(fā)語(yǔ)言的語(yǔ)句時(shí),根據(jù)其他開(kāi)發(fā)語(yǔ)言的語(yǔ)句對(duì)應(yīng)的固有目錄特征,對(duì)所述已知URL進(jìn)行擴(kuò)展,獲得所述擴(kuò)展后的URL。
B14、根據(jù)B8至B13中任一項(xiàng)所述的裝置,所述服務(wù)器返回的結(jié)果包括HTTP狀態(tài)碼。
可以理解的是,上述方法及裝置中的相關(guān)特征可以相互參考。另外,上述實(shí)施例中的“第一”、“第二”等是用于區(qū)分各實(shí)施例,而并不代表各實(shí)施例的優(yōu)劣。
所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡(jiǎn)潔,上述描述的系統(tǒng),裝置和單元的具體工作過(guò)程,可以參考前述方法實(shí)施例中的對(duì)應(yīng)過(guò)程,在此不再贅述。
在此提供的算法和顯示不與任何特定計(jì)算機(jī)、虛擬系統(tǒng)或者其它設(shè)備固有相關(guān)。各種通用系統(tǒng)也可以與基于在此的示教一起使用。根據(jù)上面的描述,構(gòu)造這類(lèi)系統(tǒng)所要求的結(jié)構(gòu)是顯而易見(jiàn)的。此外,本發(fā)明也不針對(duì)任何特定編程語(yǔ)言。應(yīng)當(dāng)明白,可以利用各種編程語(yǔ)言實(shí)現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對(duì)特定語(yǔ)言所做的描述是為了披露本發(fā)明的最佳實(shí)施方式。
在此處所提供的說(shuō)明書(shū)中,說(shuō)明了大量具體細(xì)節(jié)。然而,能夠理解,本發(fā)明的實(shí)施例可以在沒(méi)有這些具體細(xì)節(jié)的情況下實(shí)踐。在一些實(shí)例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對(duì)本說(shuō)明書(shū)的理解。
類(lèi)似地,應(yīng)當(dāng)理解,為了精簡(jiǎn)本公開(kāi)并幫助理解各個(gè)發(fā)明方面中的一個(gè)或多個(gè),在上面對(duì)本發(fā)明的示例性實(shí)施例的描述中,本發(fā)明的各個(gè)特征有時(shí)被一起分組到單個(gè)實(shí)施例、圖、或者對(duì)其的描述中。然而,并不應(yīng)將該公開(kāi)的方法解釋成反映如下意圖:即所要求保護(hù)的本發(fā)明要求比在每個(gè)權(quán)利要求中所明確記載的特征更多的特征。更確切地說(shuō),如下面的權(quán)利要求書(shū)所反映的那樣,發(fā)明方面在于少于前面公開(kāi)的單個(gè)實(shí)施例的所有特征。因此,遵循具體實(shí)施方式的權(quán)利要求書(shū)由此明確地并入該具體實(shí)施方式,其中每個(gè)權(quán)利要求本身都作為本發(fā)明的單獨(dú)實(shí)施例。
本領(lǐng)域那些技術(shù)人員可以理解,可以對(duì)實(shí)施例中的設(shè)備中的模塊進(jìn)行自適應(yīng)性地改變并且把它們?cè)O(shè)置在與該實(shí)施例不同的一個(gè)或多個(gè)設(shè)備中??梢园褜?shí)施例中的模塊或單元或組件組合成一個(gè)模塊或單元或組件,以及此外可以把它們分成多個(gè)子模塊或子單元或子組件。除了這樣的特征和/或過(guò)程或者單元中的至少一些是相互排斥之外,可以采用任何組合對(duì)本說(shuō)明書(shū)(包括伴隨的權(quán)利要求、摘要和附圖)中公開(kāi)的所有特征以及如此公開(kāi)的任何方法或者設(shè)備的所有過(guò)程或單元進(jìn)行組合。除非另外明確陳述,本說(shuō)明書(shū)(包括伴隨的權(quán)利要求、摘要和附圖)中公開(kāi)的每個(gè)特征可以由提供相同、等同或相似目的的替代特征來(lái)代替。
此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實(shí)施例包括其它實(shí)施例中所包括的某些特征而不是其它特征,但是不同實(shí)施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實(shí)施例。例如,在下面的權(quán)利要求書(shū)中,所要求保護(hù)的實(shí)施例的任意之一都可以以任意的組合方式來(lái)使用。
本發(fā)明的各個(gè)部件實(shí)施例可以以硬件實(shí)現(xiàn),或者以在一個(gè)或者多個(gè)處理器上運(yùn)行的軟件模塊實(shí)現(xiàn),或者以它們的組合實(shí)現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可以在實(shí)踐中使用微處理器或者數(shù)字信號(hào)處理器(DSP)來(lái)實(shí)現(xiàn)根據(jù)本發(fā)明實(shí)施例的確定隱藏的URL的方法及裝置中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實(shí)現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設(shè)備或者裝置程序(例如,計(jì)算機(jī)程序和計(jì)算機(jī)程序產(chǎn)品)。這樣的實(shí)現(xiàn)本發(fā)明的程序可以存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上,或者可以具有一個(gè)或者多個(gè)信號(hào)的形式。這樣的信號(hào)可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號(hào)上提供,或者以任何其他形式提供。
應(yīng)該注意的是上述實(shí)施例對(duì)本發(fā)明進(jìn)行說(shuō)明而不是對(duì)本發(fā)明進(jìn)行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計(jì)出替換實(shí)施例。在權(quán)利要求中,不應(yīng)將位于括號(hào)之間的任何參考符號(hào)構(gòu)造成對(duì)權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個(gè)”不排除存在多個(gè)這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當(dāng)編程的計(jì)算機(jī)來(lái)實(shí)現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個(gè)可以是通過(guò)同一個(gè)硬件項(xiàng)來(lái)具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序??蓪⑦@些單詞解釋為名稱(chēng)。