iT邦幫忙

2022 iThome 鐵人賽

DAY 28
0
自我挑戰組

養爬蟲的人學爬蟲系列 第 28

【Day 28】什麼是反爬蟲?

  • 分享至 

  • xImage
  •  

閒聊
在前兩天認識了相關的API事項後,剛好這個鐵人賽也差不多快要結束了。
既然之前都是在學習爬蟲,那最後的幾天我們就來稍微看看什麼是反爬蟲。

反爬蟲
反爬蟲這項技術主要是為了阻擋「惡意爬蟲程式」,同時也可以保護網頁資訊和減輕網頁負擔。

惡意爬蟲
什麼是惡意爬蟲程式呢?
在利用程式自動、大量執行指定操作時,對對方的網頁造成影響,這時候就稱為是「惡意機器人(Bat Bot)」。

  • 常見的惡意行為
  1. DoS、DDoS
  • DoS:阻斷服務敢擊。藉由不當方式占用系統分享資源,干擾正常系統運作。最常見的方式是透過「訊息洪泛(Message Flood) 」,向攻擊對象發送大量且無意義的訊息。
  • DDoS:分散式阻斷服務攻擊。利用網路上因為惡意程式而被控制的電腦作為跳板,集中向某一特定的目標密集送出大量且無意義的訊息,藉以把目標電腦的網路資源及系統資源耗盡。
  1. 非人為的廣告點擊行為
  2. 異常流量
  3. 商業機密洩漏

常見反爬蟲機制

  • 判斷headers資訊:headers通常透過瀏覽器自動生成,直接透過程式發送請求預設是沒有headers的。
  • 使用動態頁面:網頁內容使用動態產生時,對於爬蟲會增加處理網頁結構的「複雜度」。
  • 使用者行為判斷:最常見的就是會請你判斷 我不是機器人
    https://ithelp.ithome.com.tw/upload/images/20221011/20145359LTM2NDoZtc.png
    https://ithelp.ithome.com.tw/upload/images/20221011/201453592c3WmFYdM8.png
  • 模擬真實用戶登錄授權:使用者在登錄時,會將授權(token)加入到瀏覽器的cookies裡面,藉由cookies來判斷使用者是否合法。
  • 驗證碼機制:可以在相當程度上,防堵惡意的干擾與攻擊。常見的有:防止高鐵、演唱會大量搶票...等。
  • 封鎖代理伺服器及第三方IP:針對惡意攻擊的IP進行封鎖。

結語
爬蟲就有著很多種類了,沒想到反爬蟲的機制也是不少。且碰到不同情況時,還要想想什麼機制比較能有效防堵。
明天我們來簡單的練習一些反爬蟲的技術!/images/emoticon/emoticon08.gif

明天!
【Day 29】反爬蟲技術初步認識

參考資料
破解反爬蟲的方法
我不是機器人圖片
驗證圖片
爬蟲又被擋了怎麼辦?常見的反爬蟲處理策略
何謂DOS、DDOS


上一篇
【Day 27】Google API與爬蟲
下一篇
【Day 29】反爬蟲技術初步認識
系列文
養爬蟲的人學爬蟲30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言