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
mr_uv_real_ip_addr.py 文件源码
python
阅读 22
收藏 0
点赞 0
评论 0
评论列表
文章目录