爬虫 (反爬)
再爬蟲過程中,我們爬著爬著,他就會阻止你瀏覽頁面,說明對方已經在頁面上設置了反爬。
而我,今天用 裝飾器的方法,也制定了一個反爬!
下面 ,則是詳解代碼
def limit(seconds=1): # 定義內部方法 def rate_limit(func): def func_limit(request): # 設置當前時間 now =time.time() # 獲取首次來訪時間 request_time = request.session.get('req_time',0) # 做減法 in_time = int(now) - request_time# 判斷訪問者在一秒內來了不止一次 if in_time < seconds: # 拋出異常 return HttpResponse('你是爬蟲,不要來了',status=403) else: # 來的時間點存儲 request.session['req_time']=time.time() # 讓訪問者繼續訪問 ret = func(request) return ret return func_limit return rate_limit
轉載于:https://www.cnblogs.com/lyp0626/p/10295266.html
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
- 上一篇: 动态代理:JDK动态代理和CGLIB代理
- 下一篇: 安卓平分位置layout_weight学