工具推荐-根据IP地址精确定位经纬度(永久免费)
今天小张由于业务需求,需要根据用户的访问ip精确定位用户的国家、城市、及经纬度等信息,从网上进行搜索,发现不少的网站,但几乎没有完全符合的,有个别符合的还需要花钱,大家也知道,现在是信息共享的时代,难道真没有免费的API接口可调用吗?
继续搜索,终于功夫 不负有心人,找到了,就是它,就是它 。先不急,先看代码吧。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | import requests,traceback,logging,random from retry import retry user_agent_list = [ "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.1 " "(KHTML, like Gecko) Chrome/22.0.1207.1 Safari/537.1" , "Mozilla/5.0 (X11; CrOS i686 2268.111.0) AppleWebKit/536.11 " "(KHTML, like Gecko) Chrome/20.0.1132.57 Safari/536.11" , "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.6 " "(KHTML, like Gecko) Chrome/20.0.1092.0 Safari/536.6" , "Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.6 " "(KHTML, like Gecko) Chrome/20.0.1090.0 Safari/536.6" , "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.1 " "(KHTML, like Gecko) Chrome/19.77.34.5 Safari/537.1" , "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/536.5 " "(KHTML, like Gecko) Chrome/19.0.1084.9 Safari/536.5" , "Mozilla/5.0 (Windows NT 6.0) AppleWebKit/536.5 " "(KHTML, like Gecko) Chrome/19.0.1084.36 Safari/536.5" , "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.3 " "(KHTML, like Gecko) Chrome/19.0.1063.0 Safari/536.3" , "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/536.3 " "(KHTML, like Gecko) Chrome/19.0.1063.0 Safari/536.3" , "Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.3 " "(KHTML, like Gecko) Chrome/19.0.1062.0 Safari/536.3" , "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.3 " "(KHTML, like Gecko) Chrome/19.0.1062.0 Safari/536.3" , "Mozilla/5.0 (Windows NT 6.2) AppleWebKit/536.3 " "(KHTML, like Gecko) Chrome/19.0.1061.1 Safari/536.3" , "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.3 " "(KHTML, like Gecko) Chrome/19.0.1061.1 Safari/536.3" , ] headers = { 'Connection' : 'close' , "User-Agent" : random.choice(user_agent_list) } #根据ip查询国家 @retry (Exception, tries = 2 , delay = 6 ) def ip_map(ip): url = f "http://ip-api.com/json/{ip}?fields=61439&lang=zh-CN" response = requests.get(url = url,headers = headers,timeout = 5 ).json() print (response) if __name__ = = '__main__' : try : ip_map( "212.32.35.64" ) except : val = traceback.format_exc() logging.error( "错误位置信息为>>>%s" % val) |
结果如下:
{ 'status': 'success', 'country': '英国', 'countryCode': 'GB', 'region': 'WLS', 'regionName': 'Wales', 'city': 'Radyr', 'zip': 'CF15 8EN', 'lat': 51.5318, 'lon': -3.25879, 'timezone': 'Europe/London', 'isp': 'MISTRAL', 'org': 'Frontier Limited', 'as': 'AS8897 KCOM Group Public Limited Company', 'query': '212.32.35.64' }
具体代码不过多解释,so_easy,先看下他们官网的介绍
小张来给大家翻译下(其实就是用的谷歌浏览器的翻译功能^_^):
怎么样是不是很强大。
具体官方API文档,可扫描右上角二维码,关注后回复IP,获取详细文档。
作者:小张学Python
本文链接: https://mp.weixin.qq.com/s?__biz=MzUzODk1MDY4NA==&mid=2247484003&idx=1&sn=d0e78b1b89a8899cbaefea3a3e2653ee&chksm=faceaf10cdb9260671c890eb37c92937235353d80a966a98e21c42290fcf5aa3a0b3261ca71b&token=1495817177&lang=zh_CN#rd
转载请注明来源!!
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 理解Rust引用及其生命周期标识(下)
· 从二进制到误差:逐行拆解C语言浮点运算中的4008175468544之谜
· .NET制作智能桌面机器人:结合BotSharp智能体框架开发语音交互
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 2025成都.NET开发者Connect圆满结束
· 在 VS Code 中,一键安装 MCP Server!
· 后端思维之高并发处理方案
· langchain0.3教程:从0到1打造一个智能聊天机器人
· 千万级大表的优化技巧