Cloudflare:什么是數(shù)據(jù)抓???

來(lái)源: Cloudflare
作者:Cloudflare
時(shí)間:2021-03-29
16885
數(shù)據(jù)抓取,以其最一般的形式,是指一種計(jì)算機(jī)程序從另一程序生成的輸出中提取數(shù)據(jù)的技術(shù)。數(shù)據(jù)抓取通常體現(xiàn)在網(wǎng)頁(yè)抓取中,網(wǎng)頁(yè)抓取是使用應(yīng)用程序從網(wǎng)站提取有價(jià)值信息的過(guò)程。

什么是數(shù)據(jù)抓???

數(shù)據(jù)抓取,以其最一般的形式,是指一種計(jì)算機(jī)程序從另一程序生成的輸出中提取數(shù)據(jù)的技術(shù)。數(shù)據(jù)抓取通常體現(xiàn)在網(wǎng)頁(yè)抓取中,網(wǎng)頁(yè)抓取是使用應(yīng)用程序從網(wǎng)站提取有價(jià)值信息的過(guò)程。

微信圖片_20210329145241.png

為什么要抓取網(wǎng)站數(shù)據(jù)?

通常,公司不希望其獨(dú)特內(nèi)容被下載并重新用于未經(jīng)授權(quán)的目的。因此,它們不會(huì)通過(guò)開(kāi)放的API或其他便于訪問(wèn)的資源公開(kāi)所有數(shù)據(jù)。而另一方面,不管網(wǎng)站怎樣限制訪問(wèn)權(quán)限,抓取機(jī)器人都會(huì)嘗試對(duì)網(wǎng)站數(shù)據(jù)進(jìn)行抓取。這樣,網(wǎng)頁(yè)抓取機(jī)器人與各種內(nèi)容保護(hù)策略之間就存在一種貓捉老鼠的游戲,道高一尺,魔高一丈。

盡管執(zhí)行起來(lái)可能很復(fù)雜,但網(wǎng)頁(yè)抓取的過(guò)程非常簡(jiǎn)單。網(wǎng)頁(yè)抓取分為3個(gè)步驟:

首先,用于提取信息的代碼段(我們稱為抓取機(jī)器人)將 HTTP GET請(qǐng)求發(fā)送到特定網(wǎng)站。

當(dāng)網(wǎng)站響應(yīng)的時(shí),抓取器將解析HTML文檔以獲取特定的數(shù)據(jù)模式。

數(shù)據(jù)提取后,被轉(zhuǎn)換為抓取機(jī)器人設(shè)計(jì)者所設(shè)計(jì)的特定格式。

抓取機(jī)器人可以被設(shè)計(jì)用于多種用途,例如:

內(nèi)容抓取–可以從網(wǎng)站上抓取內(nèi)容以便復(fù)制依賴于該內(nèi)容的獨(dú)特產(chǎn)品或服務(wù)優(yōu)勢(shì)。例如,Yelp之類的產(chǎn)品依賴評(píng)論。競(jìng)爭(zhēng)對(duì)手可以從Yelp中抓取所有評(píng)論內(nèi)容,然后復(fù)制到自己的網(wǎng)站,讓自己網(wǎng)站的內(nèi)容開(kāi)起來(lái)十分具有原創(chuàng)性。

價(jià)格抓取–通過(guò)抓取價(jià)格數(shù)據(jù),競(jìng)爭(zhēng)對(duì)手可以匯總其競(jìng)品信息。這可以使他們擁有獨(dú)特的定價(jià)優(yōu)勢(shì)。

聯(lián)絡(luò)信息抓取–許多網(wǎng)站明文包含電子郵件地址和電話號(hào)碼。通過(guò)抓取諸如在線員工目錄之類的位置,抓取機(jī)器人能夠匯總聯(lián)絡(luò)信息,以嘗試大規(guī)模郵件發(fā)送、自動(dòng)呼叫或惡意的社交工程攻擊。這是垃圾信息發(fā)送者和詐騙者尋找新目標(biāo)的主要方法之一。

如何防護(hù)網(wǎng)頁(yè)抓???

通常,網(wǎng)站訪問(wèn)者可以看到的所有內(nèi)容都必須轉(zhuǎn)移到訪問(wèn)者的計(jì)算機(jī)上,并且訪問(wèn)者可以訪問(wèn)的任何信息都可以被機(jī)器人抓取。

有方法能夠限制可能發(fā)生的抓取量。以下是三種限制數(shù)據(jù)抓取工作的方法:

速率限制請(qǐng)求 – 對(duì)于訪問(wèn)網(wǎng)站并點(diǎn)擊網(wǎng)站上一系列網(wǎng)頁(yè)的真實(shí)用戶,他們與網(wǎng)站交互的速度普遍是可預(yù)測(cè)的;例如,不可能有人類用戶每秒瀏覽100個(gè)網(wǎng)頁(yè)。另一方面,計(jì)算機(jī)則能以比人類快多個(gè)數(shù)量級(jí)的速度發(fā)出請(qǐng)求,而初級(jí)數(shù)據(jù)抓取程序則可能采用不受限抓取技術(shù)嘗試快速抓取整個(gè)網(wǎng)站的數(shù)據(jù)。通過(guò)限制特定 IP 地址在給定時(shí)間時(shí)段內(nèi)發(fā)出的最大請(qǐng)求數(shù),網(wǎng)站能夠保護(hù)自己免受侵略性請(qǐng)求的影響,并限制在特定時(shí)間范圍中可能發(fā)生的數(shù)據(jù)抓取量。

定期修改HTML標(biāo)記–數(shù)據(jù)抓取機(jī)器人依靠持續(xù)一直的格式化來(lái)有效地遍歷網(wǎng)站內(nèi)容并解析和保存有用的數(shù)據(jù)。阻止此工作流的一個(gè)方法就是定期更改 HTML 標(biāo)記的元素,使格式一致的抓取過(guò)程變得更加復(fù)雜。嵌套 HTML 元素或者更改其他方面的標(biāo)記,即可阻礙或者阻止簡(jiǎn)單的數(shù)據(jù)抓取活動(dòng)。某些網(wǎng)站在每次呈現(xiàn)網(wǎng)頁(yè)時(shí),會(huì)對(duì)某些形式的內(nèi)容保護(hù)進(jìn)行隨機(jī)修改。其他網(wǎng)站則偶爾修改自己的標(biāo)記代碼,防止更長(zhǎng)期的數(shù)據(jù)抓取活動(dòng)。

將CAPTCHA用于大量數(shù)據(jù)的請(qǐng)求者– 除了使用速率限制解決方案外,減慢內(nèi)容抓取速度的另一個(gè)有用步驟是要求網(wǎng)站訪問(wèn)者完成計(jì)算機(jī)難以實(shí)現(xiàn)的挑戰(zhàn)。盡管人類可以合理地應(yīng)對(duì)這個(gè)挑戰(zhàn),但一個(gè)在進(jìn)行數(shù)據(jù)抓取的無(wú)腦瀏覽器*極有可能無(wú)法通過(guò)該挑戰(zhàn),更不可能持續(xù)通過(guò)數(shù)個(gè)挑戰(zhàn)。但是,持續(xù)不斷的CAPTCHA測(cè)試可能會(huì)對(duì)真實(shí)用戶的體驗(yàn)產(chǎn)生負(fù)面影響。

另一種不太常見(jiàn)的防護(hù)方法要求將內(nèi)容嵌入例如圖像類的媒體對(duì)象中。由于內(nèi)容不存在于字符串中,因此復(fù)制內(nèi)容要復(fù)雜得多,需要光學(xué)字符識(shí)別(OCR)才能從圖像文件中提取數(shù)據(jù)。但這也會(huì)給需要從網(wǎng)站復(fù)制內(nèi)容的真實(shí)用戶帶來(lái)麻煩,他們將不得不靠記憶或重新輸入例如地址或電話號(hào)碼之類的信息,而無(wú)法直接復(fù)制。

*無(wú)頭瀏覽器是網(wǎng)頁(yè)瀏覽器的一種,類似于Chrome或Firefox,但默認(rèn)情況下它沒(méi)有可視的用戶界面,因此其移動(dòng)速度比常見(jiàn)的網(wǎng)頁(yè)瀏覽器快得多。本質(zhì)上它是在命令行界面運(yùn)行,無(wú)頭瀏覽器可以避免呈現(xiàn)整個(gè)Web應(yīng)用程序。數(shù)據(jù)抓取工具會(huì)編寫機(jī)器人使用無(wú)頭瀏覽器來(lái)更快地請(qǐng)求數(shù)據(jù),因?yàn)闆](méi)有人會(huì)去查看要抓取的每個(gè)頁(yè)面。

如何完全防止抓?。?/span>

完全防止抓取網(wǎng)頁(yè)的唯一方法是避免將內(nèi)容完全放在網(wǎng)站上。但是,使用高級(jí)的機(jī)器人管理解決方案可以幫助網(wǎng)站幾乎完全消除抓取機(jī)器人的訪問(wèn)權(quán)限。

數(shù)據(jù)抓取和數(shù)據(jù)爬蟲有什么區(qū)別?

爬網(wǎng)是指像谷歌這樣的大型搜索引擎將它們的爬網(wǎng)程序(例如Googlebot)發(fā)送到網(wǎng)絡(luò)以索引互聯(lián)網(wǎng)內(nèi)容時(shí)所進(jìn)行的過(guò)程。另一方面,它通常是專門為從特定網(wǎng)站提取數(shù)據(jù)而構(gòu)建的。

以下是抓取機(jī)器人與網(wǎng)頁(yè)爬網(wǎng)程序機(jī)器人的3種不同行為:

抓取機(jī)器人會(huì)假裝為網(wǎng)頁(yè)瀏覽器,而爬網(wǎng)程序機(jī)器人會(huì)表明其目的,而不是試圖蒙騙網(wǎng)站。

有時(shí),抓取機(jī)器人會(huì)采取高級(jí)措施,例如填寫表格或進(jìn)行其他行為以進(jìn)入網(wǎng)站的特定部分。爬網(wǎng)程序則不會(huì)。

抓取機(jī)器人通常會(huì)忽略robots.txt文件,該文件是一個(gè)文本文件,專門用于告訴爬網(wǎng)程序能解析哪些數(shù)據(jù)以及不能訪問(wèn)的區(qū)域。因?yàn)樽ト∑鞅辉O(shè)計(jì)為提取特定內(nèi)容,所以它可以被設(shè)計(jì)專門抓取那些被明確禁止抓取的內(nèi)容。

Cloudflare 機(jī)器人管理使用機(jī)器學(xué)習(xí)和行為分析來(lái)識(shí)別例如抓取器等惡意機(jī)器人,保護(hù)網(wǎng)站獨(dú)特的內(nèi)容并防止機(jī)器人濫用 Web 屬性。

立即登錄,閱讀全文
版權(quán)說(shuō)明:
本文內(nèi)容來(lái)自于Cloudflare,本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個(gè)人觀點(diǎn),不代表快出海對(duì)觀點(diǎn)贊同或支持。如有侵權(quán),請(qǐng)聯(lián)系管理員(zzx@kchuhai.com)刪除!
掃碼登錄
打開(kāi)掃一掃, 關(guān)注公眾號(hào)后即可登錄/注冊(cè)
加載中
二維碼已失效 請(qǐng)重試
刷新
賬號(hào)登錄/注冊(cè)
個(gè)人VIP
小程序
快出海小程序
公眾號(hào)
快出海公眾號(hào)
商務(wù)合作
商務(wù)合作
投稿采訪
投稿采訪
出海管家
出海管家