網(wǎng)絡(luò)爬蟲(chóng) | 你不知道的暗網(wǎng)是如何被抓取的拦止?

物理學(xué)研究表明,在目前宇宙所有物質(zhì)的總體質(zhì)量中糜颠,星系等可見(jiàn)物質(zhì)只占其中的20%汹族,不可探測(cè)的暗物質(zhì)則占據(jù)了總質(zhì)量的大約80%∑湫耍互聯(lián)網(wǎng)中的暗網(wǎng)可與宇宙中的暗物質(zhì)相類(lèi)比顶瞒,而其所占的比例更是大于暗物質(zhì)占宇宙總質(zhì)量的比例,是目前明網(wǎng)網(wǎng)頁(yè)的百倍元旬。

所謂暗網(wǎng)榴徐,是指目前搜索引擎爬蟲(chóng)按照常規(guī)方式很難抓取到的互聯(lián)網(wǎng)頁(yè)面守问。搜索引擎爬蟲(chóng)依賴(lài)頁(yè)面內(nèi)中的鏈接關(guān)系發(fā)現(xiàn)新的頁(yè)面,但是很多網(wǎng)站的內(nèi)容是以數(shù)據(jù)庫(kù)的方式存儲(chǔ)的坑资,典型的例子是一些垂直領(lǐng)域網(wǎng)站耗帕,比如京東的3C家電數(shù)碼數(shù)據(jù),很難有顯性鏈接指向數(shù)據(jù)庫(kù)內(nèi)的記錄袱贮,往往是服務(wù)網(wǎng)站提供組合查詢(xún)界面仿便,只有用戶(hù)按照要求選擇查詢(xún)條件后,才可能獲得相關(guān)數(shù)據(jù)攒巍。所以常規(guī)的爬蟲(chóng)無(wú)法索引這些數(shù)據(jù)內(nèi)容嗽仪,這是暗網(wǎng)的命名由來(lái)。

京東的手機(jī)類(lèi)目篩選條件

為了能對(duì)暗網(wǎng)數(shù)據(jù)進(jìn)行索引柒莉,需要研發(fā)與常規(guī)爬蟲(chóng)機(jī)制不同的系統(tǒng)钦幔,這類(lèi)爬蟲(chóng)被稱(chēng)作暗網(wǎng)爬蟲(chóng)。暗網(wǎng)爬蟲(chóng)的目的是將暗網(wǎng)數(shù)據(jù)從數(shù)據(jù)庫(kù)中挖掘出來(lái)常柄,并將其加入搜索引擎的索引鲤氢,這樣用戶(hù)在搜索時(shí)便可利用這些數(shù)據(jù),增加信息覆蓋程度西潘。

目前大型搜索引擎服務(wù)提供商都將暗網(wǎng)挖掘作為重要研究方向卷玉,因?yàn)檫@直接關(guān)系到索引量的大小。在此領(lǐng)域的技術(shù)差異喷市,將直接體現(xiàn)在搜索結(jié)果的全面性上相种,自然是競(jìng)爭(zhēng)對(duì)手之間的必爭(zhēng)之地。Google目前將其作為重點(diǎn)研究方向品姓,而百度的“阿拉丁計(jì)劃”目的也在于此寝并。

垂直網(wǎng)站提供的搜索界面,往往需要人工選擇或者填寫(xiě)內(nèi)容腹备,比如電商的商品查找需要按照分類(lèi)及價(jià)格衬潦、屬性、品牌植酥、型號(hào)等篩選條件進(jìn)行查找目標(biāo)商品镀岛。而暗網(wǎng)爬蟲(chóng)為了能夠挖掘數(shù)據(jù)庫(kù)的記錄,必須模擬人的行為友驮,填寫(xiě)內(nèi)容或選擇篩選條件漂羊。對(duì)于暗網(wǎng)爬蟲(chóng)來(lái)說(shuō),其技術(shù)挑戰(zhàn)有兩點(diǎn):一是查詢(xún)組合太多卸留,如果一一遍歷組合走越,那么會(huì)給被訪問(wèn)網(wǎng)站造成太大壓力,所以如何精心組合查詢(xún)選項(xiàng)是個(gè)難點(diǎn)耻瑟;第二點(diǎn)在于:有的查詢(xún)是文本框旨指,比如圖書(shū)搜索中需要輸入書(shū)名赏酥,爬蟲(chóng)怎樣才能夠填入合適的內(nèi)容?這也是非常具有挑戰(zhàn)性的任務(wù)淤毛。

查詢(xún)組合問(wèn)題

暗網(wǎng)爬蟲(chóng)能夠?qū)⒛硞€(gè)垂直網(wǎng)站數(shù)據(jù)庫(kù)的記錄盡可能多的下載到索引庫(kù)中今缚,但這是有約束和前提條件的,即不能給被訪問(wèn)網(wǎng)站造成過(guò)大的訪問(wèn)壓力低淡,同時(shí)盡可能節(jié)省爬蟲(chóng)本身的資源姓言。

垂直搜索網(wǎng)站往往會(huì)給用戶(hù)提供多個(gè)查詢(xún)輸入框,不同輸入框代表了搜索對(duì)象某方面的屬性蔗蹋,通過(guò)組合這些屬性來(lái)將搜索范圍縮小何荚。對(duì)于暗網(wǎng)爬蟲(chóng)來(lái)說(shuō),一個(gè)簡(jiǎn)單粗暴的方式就是:將各個(gè)輸入框可能輸入的值組合起來(lái)形成查詢(xún)猪杭,比如對(duì)于火車(chē)票查詢(xún)來(lái)說(shuō)餐塘,將所有出發(fā)城市、目的城市和時(shí)間范圍的選項(xiàng)一一組合皂吮,形成大量的查詢(xún)戒傻,提交給垂直搜索引擎,從其搜索結(jié)果里提煉數(shù)據(jù)庫(kù)記錄蜂筹。這么做比較野蠻需纳,而且也不是很方便,因?yàn)楹芏嘟M合是無(wú)效的艺挪,大量的返回結(jié)果為空不翩,同時(shí)對(duì)被訪問(wèn)網(wǎng)站造成了巨大的流量壓力。

Google對(duì)此提出了解決方案麻裳,稱(chēng)之為富含信息查詢(xún)模板技術(shù)口蝠,為了了解技術(shù)原理,首先需要明白什么是查詢(xún)模板津坑,我們以下圖的職位搜索垂直網(wǎng)站來(lái)說(shuō)明妙蔗。

“職位搜索”垂直網(wǎng)站

為了描述一個(gè)職位,完成的查詢(xún)由3個(gè)不同的屬性構(gòu)成:地點(diǎn)国瓮、行業(yè)類(lèi)別和工作地點(diǎn)灭必。如果在向搜索引擎提交查詢(xún)的時(shí)候,部分屬性被賦予了值乃摹,而其他屬性不賦值,則這幾個(gè)賦值的屬性一起構(gòu)成了一個(gè)查詢(xún)模板跟衅。

上圖是由若干個(gè)“查詢(xún)模板”的示例孵睬,如果模板包含一個(gè)屬性,則稱(chēng)之為一維模板伶跷,下圖中模板一一維模板掰读,模板2和模板3是兩份二維模板秘狞,模板4是三維模板。

查詢(xún)模板示例

對(duì)于一個(gè)固定的垂直搜索來(lái)說(shuō)蹈集,其查詢(xún)模板組合起來(lái)有很多烁试,我們的任務(wù)是找到富含信息的查詢(xún)模板,那么什么又是富含信息查詢(xún)模板呢拢肆?Google的技術(shù)方案是這樣定義的:對(duì)于某個(gè)固定的查詢(xún)模板來(lái)說(shuō)减响,如果給查詢(xún)模板內(nèi)每個(gè)屬性都賦值,形成不同的查詢(xún)組合郭怪,提交給垂直搜索引擎支示,觀察所有返回頁(yè)面的內(nèi)容,如果相互之間的內(nèi)容差異較大鄙才,則這個(gè)模板就是富含信息查詢(xún)模板颂鸿。

以上圖的模板為例說(shuō)明,其包含了兩個(gè)屬性:職能類(lèi)別和行業(yè)類(lèi)別攒庵。職位類(lèi)別有3種不同賦值嘴纺,行業(yè)類(lèi)別有兩種不同賦值,兩者組合有6種不同的組合方式浓冒,形成這個(gè)模板的6個(gè)查詢(xún)栽渴。將這6個(gè)查詢(xún)分別提交給職位搜索引擎,觀察返回頁(yè)面內(nèi)容變化情況裆蒸,如果大部分內(nèi)容返回相同或相似熔萧,則說(shuō)明這個(gè)查詢(xún)模板不是富含信息查詢(xún)模板,否則可被認(rèn)為是富含信息查詢(xún)模板僚祷。

之所以如此規(guī)定佛致,是基于如下考慮:如果返回結(jié)果頁(yè)面內(nèi)容重復(fù)太多,很可能這個(gè)查詢(xún)模板的維度太高辙谜,導(dǎo)致很多組合無(wú)搜索結(jié)果俺榆,或構(gòu)造的查詢(xún)本身是錯(cuò)誤的,搜索系統(tǒng)返回了錯(cuò)誤頁(yè)面装哆。

假設(shè)按照上面方式對(duì)所有查詢(xún)模板一一試探罐脊,判斷是否為富含信息查詢(xún)模板,則因?yàn)椴樵?xún)模板數(shù)量太多蜕琴,系統(tǒng)效率還是會(huì)很低萍桌。為了進(jìn)一步減少提交的查詢(xún)數(shù)目,Google的技術(shù)方案使用了ISIT算法凌简。

ISIT方法的基本思路是:首先從一維模板開(kāi)始上炎,對(duì)一維查詢(xún)模板逐個(gè)考察,看其是否為富含信息查詢(xún)模板雏搂,如果是的話藕施,則將這個(gè)一維模板擴(kuò)展到二維寇损,再次依次考察對(duì)應(yīng)的二維模板,如此類(lèi)推裳食,逐步增加維數(shù)矛市,直到再也無(wú)法找到富含信息查詢(xún)模板為止。通過(guò)這種方式诲祸,就可以找到絕大多數(shù)富含信息查詢(xún)模板浊吏,同時(shí)也盡可能減少了提交的查詢(xún)總數(shù),有效達(dá)到了目的烦绳。Google的評(píng)測(cè)結(jié)果表明卿捎,這種方法和完全組合比,能夠大幅度提升系統(tǒng)效率径密。

文本框填寫(xiě)問(wèn)題

對(duì)于輸入中的文本框午阵,需要爬蟲(chóng)自動(dòng)生成查詢(xún),以下是一個(gè)常用做法的流程圖享扔。

文本框自動(dòng)填寫(xiě)

在爬蟲(chóng)運(yùn)轉(zhuǎn)起來(lái)之前底桂,因?yàn)閷?duì)目標(biāo)網(wǎng)站一無(wú)所知,所以必須人工提供一些提示惧眠。在此例中籽懦,通過(guò)人工觀察網(wǎng)站進(jìn)行定位,提供一個(gè)與網(wǎng)站內(nèi)容相關(guān)的初始種子查詢(xún)關(guān)鍵詞表氛魁。對(duì)于不同的網(wǎng)站暮顺,需要人工提供不同的詞表,以此作為爬蟲(chóng)能夠繼續(xù)工作的基礎(chǔ)條件秀存。爬蟲(chóng)根據(jù)初始種子詞表捶码,向垂直搜索引擎提交查詢(xún),并下載返回結(jié)果頁(yè)面或链。之后從返回結(jié)果頁(yè)面里自動(dòng)挖掘出相關(guān)的關(guān)鍵詞惫恼,并形成一個(gè)新的查詢(xún)列表,依次將新挖掘出的查詢(xún)提交給搜索引擎澳盐。如此往復(fù)祈纯,直到無(wú)法下載到新的內(nèi)容為止。通過(guò)這種人工啟發(fā)結(jié)合遞歸迭代的方式叼耙,盡可能覆蓋數(shù)據(jù)庫(kù)里的記錄腕窥。

如果您對(duì)爬蟲(chóng)有興趣,還可以閱讀:

全程干貨 | 入門(mén)爬蟲(chóng)技術(shù)原理筛婉,看這篇就夠了

全程干貨 | 解密爬蟲(chóng)抓取油昂、更新網(wǎng)頁(yè)的策略方法

網(wǎng)絡(luò)爬蟲(chóng) | 你知道分布式爬蟲(chóng)是如何工作的嗎?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末倾贰,一起剝皮案震驚了整個(gè)濱河市冕碟,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌匆浙,老刑警劉巖安寺,帶你破解...
    沈念sama閱讀 221,273評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異首尼,居然都是意外死亡挑庶,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,349評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門(mén)软能,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)迎捺,“玉大人,你說(shuō)我怎么就攤上這事查排〉手Γ” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 167,709評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵跋核,是天一觀的道長(zhǎng)岖瑰。 經(jīng)常有香客問(wèn)我,道長(zhǎng)砂代,這世上最難降的妖魔是什么蹋订? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,520評(píng)論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮刻伊,結(jié)果婚禮上露戒,老公的妹妹穿的比我還像新娘。我一直安慰自己捶箱,他們只是感情好智什,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,515評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著讼呢,像睡著了一般撩鹿。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上悦屏,一...
    開(kāi)封第一講書(shū)人閱讀 52,158評(píng)論 1 308
  • 那天节沦,我揣著相機(jī)與錄音,去河邊找鬼础爬。 笑死甫贯,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的看蚜。 我是一名探鬼主播叫搁,決...
    沈念sama閱讀 40,755評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了渴逻?” 一聲冷哼從身側(cè)響起疾党,我...
    開(kāi)封第一講書(shū)人閱讀 39,660評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎惨奕,沒(méi)想到半個(gè)月后雪位,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,203評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡梨撞,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,287評(píng)論 3 340
  • 正文 我和宋清朗相戀三年雹洗,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片卧波。...
    茶點(diǎn)故事閱讀 40,427評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡时肿,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出港粱,到底是詐尸還是另有隱情螃成,我是刑警寧澤,帶...
    沈念sama閱讀 36,122評(píng)論 5 349
  • 正文 年R本政府宣布啥容,位于F島的核電站锈颗,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏咪惠。R本人自食惡果不足惜击吱,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,801評(píng)論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望遥昧。 院中可真熱鬧覆醇,春花似錦、人聲如沸炭臭。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,272評(píng)論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)鞋仍。三九已至常摧,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間威创,已是汗流浹背落午。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,393評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留肚豺,地道東北人溃斋。 一個(gè)月前我還...
    沈念sama閱讀 48,808評(píng)論 3 376
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像吸申,于是被迫代替她去往敵國(guó)和親梗劫。 傳聞我的和親對(duì)象是個(gè)殘疾皇子享甸,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,440評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容