python查询公网IP地址、IP地理位置

2020-02-04  本文已影响0人  巨数

python查询公网IP地址、IP地理位置

利用Python查询本机公网的IP地址、以及查询IP的地理位置,使用简单的爬虫实现其功能。

查询本机的IP、本机IP的地理位置

def get_my_ip():
    header = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36',
    }
    info = session().get('https://pdf-lib.org/Tools/IP',headers = header).text
    ip_addrs = re.findall('<code id="ip">(.*?)</code>.*?<code id="addr">(.*?)</code>',info,re.S)
    print(f'您的IP地址:{ip_addrs[0][0]}\n地理位置:{ip_addrs[0][1]}')
    # ['42.230.11.245', '中国华中河南省郑州市联通']
    return list(ip_addrs[0])

查询特定IP地址的地理位置

def ip_address(ip):
    header = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36',
    }
    info = session().get(f'https://pdf-lib.org/tools/ip?IP={ip}',headers = header)
    '''info:
    errInfo: "0"
    IPAddr: ""
    CustomerAddress: "中国华中河南省"
    '''
    return info.json()['CustomerAddress']
上一篇 下一篇

猜你喜欢

热点阅读