什么是網(wǎng)絡(luò)爬蟲(chóng) 網(wǎng)絡(luò)爬蟲(chóng)為什么要使用爬蟲(chóng)代理?
網(wǎng)絡(luò)爬蟲(chóng)是一種Internet漫游器,可以系統(tǒng)地瀏覽萬(wàn)維網(wǎng),通常用于Web索引(Web spidering)。
網(wǎng)頁(yè)搜索引擎和其他一些網(wǎng)站使用網(wǎng)頁(yè)爬蟲(chóng)來(lái)更新他們的網(wǎng)頁(yè)內(nèi)容或其他網(wǎng)站網(wǎng)頁(yè)內(nèi)容的索引。網(wǎng)頁(yè)抓取工具可以復(fù)制他們?cè)L問(wèn)的所有頁(yè)面,以便后期處理由搜索引擎對(duì)其下載的頁(yè)面進(jìn)行索引,以便用戶能夠更有效地搜索。

由于互聯(lián)網(wǎng)上的頁(yè)面數(shù)量非常多,即使是最大的爬蟲(chóng)也沒(méi)有完成索引。為此,搜索引擎在2000年之前在萬(wàn)維網(wǎng)的早期提供相關(guān)的搜索結(jié)果是不好的?,F(xiàn)代搜索引擎大大提高了這一點(diǎn)。
一個(gè)網(wǎng)頁(yè)爬蟲(chóng)從一個(gè)名為“種子”的網(wǎng)址列表開(kāi)始。當(dāng)檢索器訪問(wèn)這些URL時(shí),它會(huì)標(biāo)識(shí)頁(yè)面中的所有超鏈接,并將其添加到要訪問(wèn)的URL列表中,稱為爬網(wǎng)邊界。根據(jù)一組策略遞歸地訪問(wèn)來(lái)自邊界的URL。如果爬行器正在執(zhí)行歸檔網(wǎng)站,那么它將復(fù)制并保存信息。檔案通常以這樣一種方式存儲(chǔ),可以像在實(shí)時(shí)網(wǎng)絡(luò)上一樣被查看,讀取和瀏覽,但被保存為“快照”。
大量意味著爬網(wǎng)程序只能在給定時(shí)間內(nèi)下載有限數(shù)量的網(wǎng)頁(yè),因此需要對(duì)其下載進(jìn)行優(yōu)先級(jí)排序。高變化率可能意味著頁(yè)面可能已被更新或甚至被刪除。
由服務(wù)器端軟件生成的可能的URL數(shù)量也使Web爬蟲(chóng)難以避免檢索重復(fù)的內(nèi)容。存在HTTP GET(基于URL)參數(shù)的無(wú)限組合,其中只有一小部分實(shí)際上將返回唯一的內(nèi)容。這種數(shù)學(xué)組合為抓取工具創(chuàng)建了一個(gè)問(wèn)題,因?yàn)樗鼈儽仨殞?duì)相對(duì)較小的腳本更改的無(wú)盡組合進(jìn)行排序,以便檢索唯一的內(nèi)容。
爬蟲(chóng)代理是爬蟲(chóng)過(guò)程中不可或缺的要素。當(dāng)你爬取的數(shù)據(jù)達(dá)到一定量后,你會(huì)發(fā)現(xiàn)程序會(huì)時(shí)不時(shí)給你報(bào)錯(cuò),而且頻率越來(lái)越來(lái)高。這說(shuō)你的爬蟲(chóng)被人家識(shí)別出來(lái)了,對(duì)方的反扒系統(tǒng)已經(jīng)記住了你。通常會(huì)告訴你連接超時(shí)、連接中斷更有甚者會(huì)直接中斷你程序。
User-Agent是一個(gè)特殊字符串頭,被廣泛用來(lái)標(biāo)示瀏覽器客戶端的信息,使得服務(wù)器能識(shí)別客戶機(jī)使用的操作系統(tǒng)和版本,CPU類型,瀏覽器及版本,瀏覽器的渲染引擎,瀏覽器語(yǔ)言等。
不同的瀏覽器會(huì)用不同的用戶代理字符串作為自身的標(biāo)志,當(dāng)搜索引擎在通過(guò)網(wǎng)絡(luò)爬蟲(chóng)訪問(wèn)網(wǎng)頁(yè)時(shí),也會(huì)通過(guò)用戶代理字符串來(lái)進(jìn)行自身的標(biāo)示,這也是為何網(wǎng)站統(tǒng)計(jì)報(bào)告能夠統(tǒng)計(jì)瀏覽器信息,爬蟲(chóng)信息等。網(wǎng)站需要獲取用戶客戶端的信息,了解網(wǎng)站內(nèi)容在客戶端的展現(xiàn)形式,一些網(wǎng)站通過(guò)判斷UA來(lái)給不同的操作系統(tǒng),不同的瀏覽器發(fā)送不同的頁(yè)面,不過(guò)這也可能造成某些頁(yè)面無(wú)法再某個(gè)瀏覽器中正常顯示.我們可以獲取隨機(jī)User-Agent與使用,用上了隨機(jī)User-Agent和兔子爬蟲(chóng)代理IP大部分網(wǎng)站就沒(méi)有什么問(wèn)題了。