获取本地IP以及地理位置

简介: 获取本地IP以及地理位置
from urllib.request import urlopen
my_ip = urlopen('http://ip.42.pl/raw').read()

import requests
import IPy

def get_location(ip):
    url =  'https://sp0.baidu.com/8aQDcjqpAAV3otqbppnN2DJv/api.php?co=&resource_id=6006&t=1529895387942&ie=utf8&oe=gbk&cb=op_aladdin_callback&format=json&tn=baidu&cb=jQuery110203920624944751099_1529894588086&_=1529894588088&query=%s'%ip
    # headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36'}
    r = requests.get(url)
    r.encoding = r.apparent_encoding
    html = r.text
    print(html)
    c1 = html.split('location":"')[1]
    c2 = c1.split('","')[0]
    return c2

def check_ip(ip):
    try:
        IPy.IP(ip)
        print(IPy.IP(ip))
        return True
    except Exception as e:
        print(e)
        return False

if __name__ == '__main__':
    print(my_ip)
    ip = str(my_ip).strip('b')
    print(ip)
    ip=eval(ip)
    print(type(ip))
    print(ip)
    if check_ip(ip):
        print('IP位置为:',get_location(ip))
相关文章
|
8月前
|
搜索推荐 定位技术
如何快速查询自己的IP地址?
IP地址(Internet Protocol Address)是指互联网协议地址,又译为网际协议地址。IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。
如何快速查询自己的IP地址?
|
算法 JavaScript Java
使用强大的离线IP地址定位库ip2region获取城市信息
ip2region - 准确率99.9%的离线IP地址定位库,0.0x毫秒级查询,ip2region.db数据库只有数MB,提供了java、php、c、python、nodejs、golang、c#等查询绑定和Binary,B树,内存三种查询算法。
使用强大的离线IP地址定位库ip2region获取城市信息
|
24天前
|
应用服务中间件 定位技术 网络安全
理解住宅IP和运营商IP的不同应用场景
随着数字化时代的发展,网络安全与隐私保护成为核心需求,代理IP因其技术优势受到关注。本文介绍了住宅IP与运营商IP的区别,包括定义、使用场景、安全性、成本及地理位置等方面,帮助用户根据需求选择合适的IP类型。
48 8
|
前端开发 定位技术 数据库
|
8月前
|
监控 定位技术 数据中心
住宅ip与数据中心ip代理的区别是什么
代理IP分为住宅IP和数据中心IP。住宅IP由ISP提供,更难被网站检测,适合需要高匿名度和广泛地理位置的业务,如广告发布和价格比较。数据中心IP源自服务器,虽速度快但易被识别,常用于数据抓取和SEO。住宅IP因其真实用户特性,较少被封锁,但成本较高。选择类型应基于具体使用场景,如小规模数据抓取可选数据中心IP。
|
Java 定位技术 数据库
通过ip获取地理位置信息
通过ip获取地理位置信息
729 0
|
JSON 定位技术 数据格式
根据现有IP地址获取其地理位置(省份,城市等)的方法
根据现有IP地址获取其地理位置(省份,城市等)的方法
1222 0
|
弹性计算
阿里云IP地址在哪查询?
阿里云服务器IP地址在哪查看?在云服务器ECS管理控制台即可查看,阿里云服务器IP地址包括公网IP和私有IP,阿里云百科分享阿里云服务器IP地址查询方法
418 0