使用redis統計ip的使用次數
count_ip_key='spider_ip'
ip_limit_num = 500
def count_ip(ip): #統計ip次數
count = r.hget(count_ip_key,ip)
if isinstance(count,bytes):r.hset(count_ip_key,ip, eval(count)+1)
else:r.hset(count_ip_key,ip, 1)
def num_ip(ip): 獲取ip的次數與限制值比較
count = r1.hget(count_ip_key, ip)
if isinstance(count,bytes):return eval(count)
else:return 0
while True:
if r.scard(proxy_key) > 0:
ip = r.spop(proxy_key)
if not isinstance(ip,bytes):continue
ip=ip.decode()
print('ip:',ip)
if num_ip(ip) > ip_limit_num:
continue
proxies = {'http': 'http://{}'.format(ip), 'https': 'http://{}'.format(ip)}
爬蟲函式
count_ip(ip)
if num_ip(ip) < ip_limit_num:
r.sadd(proxy_key,ip)
相關文章
- 【sqlserver】 統計索引使用次數SQLServer索引
- PHP結合Redis來限制使用者或者IP某個時間段內訪問的次數PHPRedis
- 通過map reduce統計應用ip訪問次數
- redis實現統計使用者連續登陸天數Redis
- redis設計統計使用者訪問量Redis
- 在SpringBoot中使用Redis的zset統計線上使用者資訊Spring BootRedis
- 使用次數最多的Java API排行JavaAPI
- 記一次 Laravel 使用 Redis 踩得坑LaravelRedis
- 【11g】使用REGEXP_COUNT函式統計字串出現的次數函式字串
- JavaScript統計字元出現的次數JavaScript字元
- 統計字串出現的次數(C)字串
- 如何用 Redis 統計使用者訪問量?Redis
- 系統使用者數、併發使用者數與線上使用者數的區別及計算
- Redis的使用Redis
- js統計字串中單次的個數JS字串
- 統計資料出現次數
- 使用 Redis 有序集合實現 IP 歸屬地查詢Redis
- Redis的使用(二)Redis
- laravel 單使用者 單IP 頻次訪問限制Laravel
- 統計檔案中出現的單詞次數
- matlab——統計相同元素出現的次數Matlab
- 用Python統計次數的5種方法Python
- nginx 使用同事的IPNginx
- 使用代理ip的原因
- 統計陣列中各數字(元素)出現的次數陣列
- 使用Redis記錄系統日誌Redis
- 使用redis中setnx防止併發二次寫入Redis
- Redis在.net中的使用(2).net專案中的Redis使用Redis
- Redis 點陣圖基礎到統計活躍使用者Redis
- 統計字串中某個字元出現的次數字串字元
- 使用 CSS 計數器CSS
- 【原創】Struts1.x系列教程(15):使用DownloadAction類統計檔案下載次數
- redis(二)redis概述與jedis的使用Redis
- IP類介面大全,含免費次數
- MongoDB和Redis的使用MongoDBRedis
- 代理ip的授權使用
- Python統計列表元素出現次數Python
- JavaScript統計字串中字元出現次數JavaScript字串字元