DEV Community

Cover image for 爬蟲與反爬蟲
fireindark707
fireindark707

Posted on

爬蟲與反爬蟲

爬蟲的發展

可以從目的上分為多個時期/類型:

  1. 批量採集數據:這也是scrapy等爬蟲框架著重解決的問題,如何更快的、併行的獲取網站上的大量資料,並且定位出所需信息(使用xpath等方法)。這段時期內,爬蟲都是獲取公開的數據。
  2. 鑑權時期:網站可能存在漏洞,或存在一些可以使用自動化技術獲得優勢的步驟。例如SQL注入、搶火車票。這些技術背後與爬蟲技術有相似性。一些這類型技術的目的是獲取非公開數據或依靠自動化獲得優勢/利益。網站需要透過鑑權來阻擋。
  3. 流量風控時期:網站注意公開數據本身的加值,不希望大量數據被採集。這類反爬蟲是在阻擋批量採集數據。

爬蟲技術

大體還是分為兩個類型:協議採集 和 真機採集。

  • 協議採集:開發成本低、逆向成本高、性能非常好,一旦有純算能力。日採千萬級別是沒問題的,資源佔用低。
  • 真機採集:開發成本較高、逆向成本相對低、性能較差(因為需要做出瀏覽器環境)。

對於協議採集,最優先採用鑑權進行反爬蟲,其次考慮用高頻攔截。

Top comments (0)