python获取地理位置

废话不多说,直接上代码

复制代码
 1 from urllib.request import urlopen
 2 my_ip = urlopen('http://ip.42.pl/raw').read()
 3 
 4 import requests
 5 import IPy
 6  
 7 def get_location(ip):
 8     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
 9     # 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'}
10     r = requests.get(url)
11     r.encoding = r.apparent_encoding
12     html = r.text
13     c1 = html.split('location":"')[1]
14     c2 = c1.split('","')[0]
15     return c2
16  
17 def check_ip(ip):
18     try:
19         IPy.IP(ip)
20         return True
21     except Exception as e:
22         print(e)
23         return False
24  
25 if __name__ == '__main__':
26     ip = str(my_ip).strip('b')
27     ip=eval(ip)
28     print(ip)
29     if check_ip(ip):
30         print('IP位置为:',get_location(ip))
31     input()
复制代码

 

posted @   Ctrl+c_Ctrl+v程序员  阅读(3755)  评论(1编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示