使用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)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值