mr_uv_cdn_ip_addr.py 文件源码

python
阅读 28 收藏 0 点赞 0 评论 0

项目:nginx_log_parse 作者: daiguadaidai 项目源码 文件源码
def reducer_top100(self, _, values):
        """?????"""

        for cnt, ip in heapq.nlargest(100, values, key=lambda x: int(x[0])):
            ip_num = -1
            try:
                # ?IP???INT/LONG ??
                ip_num = socket.ntohl(struct.unpack("I",socket.inet_aton(str(ip)))[0])
                # ?????? ?? DataFrame
                addr_df = self.ip_addr_df[(self.ip_addr_df.ip_start_num <= ip_num) & 
                                          (ip_num <= self.ip_addr_df.ip_end_num)]
                # ????????? ??
                addr = addr_df.at[addr_df.index.tolist()[0], 'addr']
                yield cnt, '{ip}    {addr}'.format(ip=ip, addr=addr)
            except:
                yield cnt, ip
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号