使用Nginx過濾網絡爬蟲


原文:https://www.liaoxuefeng.com/article/001509844125769eafbb65df0a04430a2d010a24a945bfa000

 

現在的網絡爬蟲越來越多,有很多爬蟲都是初學者寫的,和搜索引擎的爬蟲不一樣,他們不懂如何控制速度,結果往往大量消耗服務器資源,導致帶寬白白浪費了。

其實Nginx可以非常容易地根據User-Agent過濾請求,我們只需要在需要URL入口位置通過一個簡單的正則表達式就可以過濾不符合要求的爬蟲請求:

    ...
    location / {
        if ($http_user_agent ~* "python|curl|java|wget|httpclient|okhttp") { return 503; } # 正常處理 ... } ... 

變量$http_user_agent是一個可以直接在location中引用的Nginx變量。~*表示不區分大小寫的正則匹配,通過python就可以過濾掉80%的Python爬蟲。

感覺本站內容不錯,讀后有收獲?


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM