from threading import Thread,Lock
import requests
import json
from random import choice
class AddressAttribution(Thread):
def __init__(self,id, ip):
#super(AddressAttribution, self).__init__()
Thread.__init__(self)
self.ip = ip
self.id = id
def run(self):
url = 'http://ip-api.com/json/%s' % self.ip
page = requests.get(url).text
dict_data = json.loads(page)
lock.acquire()
city = dict_data.get('city')
country = dict_data.get('country')
if (city and country):
print(f"【id】:{self.id} 【ip】:{self.ip:>15} 【city】: {city:>20} 【country】: {country:>15}")
lock.release()
if __name__ == '__main__':
threads = []
lock = Lock()
for i in range(1, 1):
r = range(1, 150)
id = i
ip = f'{choice(r)}.{choice(r)}.{choice(r)}.{choice(r)
使用多线程技术批量查询随机生成的 IP 地址的归属地。
最新推荐文章于 2024-03-12 22:51:50 发布