What is data scraping?

攻擊者可用網路剽竊工具存取資料,速度還比預計的快得多。此舉可能導致未經授權的資料使用。

學習目標

閱讀本文後,您將能夠:

  • 定義資料剽竊
  • 說明網站剽竊背後的目的
  • 了解緩解資料剽竊的方法
  • 辨別資料剽竊和資料爬行之間的差別

複製文章連結

何謂資料剽竊?

最常見的資料剽竊指的是:利用電腦程式的技術,以擷取其他程式的輸出資料。最常用的資料剽竊形式是網站剽竊,也就是利用應用程式從網站擷取寶貴資訊的流程。

資料剽竊

為什麼要剽竊網站資料?

通常公司不希望網站獨特的內容被第三方下載,並用於未經授權的目的。因此,他們不會透過向消費性 API 或其他容易存取的資源暴露所有資料。另一方面,無論企業如何嘗試限制存取,剽竊傀儡程式都有興趣取得網站資料。因此,網站剽竊傀儡程式和不同的內容保護策略之間,就不斷玩著貓捉老鼠的遊戲,雙方都迫切希望打敗對手。

儘管實行之道可能會複雜,但網站剽竊的流程能以 3 個簡單步驟達成:

  1. 首先,用以擷取資訊的代碼,也就是我們所謂的剽竊傀儡程式,會傳送 HTTP GET 查詢至特定網站。
  2. 網站回應後,剽竊傀儡程式針對特定的資料模式,解析 HTML 文件。
  3. 擷取資料後,就轉換為剽竊傀儡程式設計者預設的指定格式。

剽竊傀儡程式旨在達成許多目的,例如:

  1. 內容剽竊 - 可從網站擷取內容,以便據此複製特定產品或服務的獨特優勢。例如:類似 Yelp 的產品需要評語,競爭對手可剽竊 Yelp 的所有評語內容,並複製至他們的網站上,然後宣稱是原創內容。
  2. 價格剽竊 - 競爭對手剽竊價格資料後,就能彙整競爭現況資訊,並據此制訂獨特優勢。
  3. 內容剽竊 - 許多網站內含純文字格式的電子郵件地址以及電話號碼。透過剽竊類似線上員工目錄的地點,程式就能彙整類似:大量郵件清單、機器人電話,或惡意社交工程企圖之類的聯絡詳情。這是垃圾郵件發送者和剽竊者用以尋找新下手目標的主要方法之一。

如何緩解網站剽竊?

具體來說,網站訪客看得到的所有內容都必須轉送至訪客的機器,而訪客可存取的任何資訊,都可利用傀儡程式剽竊。

可利用以下 3 個方法,限制網路剽竊的數量和資料暴露。

  1. 限速查詢 - 若人類訪客點擊了網站一系列網頁,則頗能預計其與網站互動的速度,例如:人類無法在一秒內瀏覽 100 個網頁。相反而言,電腦提出查詢要求的速度,則比人類快得多,而創新的資料剽竊程式可使用未節流的剽竊技術,嘗試快速剽竊整個網站。藉由限速,限制特定 IP 位址於指定時限內可提出的最高查詢數,網站因此可自我保護,免遭攻擊式的查詢所害,以及限制在指定時限內可剽竊的資料量
  2. 定期修訂 HTML 標示 - 資料剽竊傀儡程式必須持續進行格式化作業,才能有效周遊於網站內容中,並解析和儲存有用資料。中斷此作業流程的方法之一,是定期變更 HTML 標示元素,讓持續剽竊作業變得較複雜。透過巢狀 HTML 元件,或變更標示的其他層面,就能阻擋或阻撓簡單的資料剽竊作業。對於部份網站來說,每次轉譯網頁時,就會隨機處理和實行某些形式的內容保護修訂作業。其他網站將不定期變更標示代碼,防止較長期的資料剽竊。
  3. Use CAPTCHAs for high-volume requesters - in addition to using a rate limiting solution, another useful step in slowing content scrapers is the requirement that a website visitor answers a challenge that’s difficult for a computer to surmount. While a human can reasonably answer the challenge, a headless browser* engaging in data scraping most likely cannot, and certainly will not consistently across many instances of the challenge. However, constant CAPTCHA challenges can negatively impact the user experience.

緩解剽竊的另一個較不常見的方法是:在圖像之類的媒體物件中嵌入內容。由於內容並非以字元字串的形式存在,因此複製內容就複雜得多,要求光學文字辨識 (OCR) 來擷取圖像檔內的資料。但此舉也可能阻礙想要複製網站內容 (例如:地址或電話號碼),而不想記住或抄寫資料的使用者。

*無頭瀏覽器是一種網路瀏覽器,很像 Chrome 或 Firefox,卻預設沒有視覺使用者介面,因此可比典型的網路瀏覽器移動得快很多。無頭瀏覽器實質上是在指令行上執行,能避免轉譯整個 Web 應用程式。資料剽竊者撰寫使用無頭瀏覽器的傀儡程式,以便更快速查詢資料,因為剽竊的每一頁都不會由人類檢視。

如何全面停止網站剽竊?

全面停止網站剽竊的唯一方法是:避免在網站上刊載內容。然而,進階的傀儡程式管理解決方案有助網站幾乎全面排除剽竊傀儡程式的存取。

資料剽竊和資料爬行之間有何不同?

Crawling refers to the process large search engines like Google undertake when they send their robot crawlers, such as Googlebot, out into the network to index Internet content. Scraping, on the other hand, is typically structured specifically to extract data from a particular website.

以下是剽竊傀儡程式有別於網路爬蟲傀儡程式的作業:

  1. 剽竊傀儡程式會偽裝成網路瀏覽器,而網路爬蟲傀儡程式則說明其目的,且無意誘騙網站誤認其真實身份。
  2. 有時候剽竊程式會採取類似填表的事前行動,或以其他方式到達網路爬蟲程式不會前往的網站特定區域。
  3. 爬蟲程式具體上會無視 robots.txt 檔案。這是一個文字檔,內含旨在告知網路爬蟲解析哪些資料,以及該避免網站哪些區域。由於剽竊程式旨在擷取指定內容,因此可能被設計成擷取明顯標記為要忽略的內容。

Cloudflare Bot Management uses machine learning and behavioral analysis to identify malicious bots such as scrapersprotecting unique content and preventing bots from abusing a web property. Similarly, Super Bot Fight Mode, now available on Cloudflare Pro and Business plans, is designed to help smaller organizations defend against scrapers and other bad bots while giving them more visibility into their bot traffic.