52loli 发表于 2020-10-6 21:58

Python获取IP地理位置

本帖最后由 52loli 于 2020-11-6 12:18 编辑

非高精度,只能定位到城市# Author:52loli
# Time:2020.10.06
import requests
import json

class Ip():
    def __init__(self):
      self.ip_url = 'https://www.toolnb.com/Tools/Api/IP.html'
      self.ipInfo_url = 'https://www.toolnb.com/Tools/Api/ipgetareainfo.html'
      self.headers = {
            'cookie':'PHPSESSID=q8e8vhzg8nsarisdwsbmxb1g72',
            'referer':'https://www.toolnb.com/tools/ipgetareainfo.html',
            'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.4183.121 Safari/537.36'
      }
    def get_ip(self):
      tmp = requests.post(self.ip_url,headers=self.headers)
      result = json.loads(tmp.text)
      return result['data']['ip']
    def get_IPaddress(self):
      data = {'ip': self.get_ip()}
      tmp = requests.post(self.ipInfo_url,data = data,headers=self.headers)
      res = json.loads(tmp.text)
      print(res['data']['area'])

ip = Ip()
ip.get_IPaddress()

youkan_pj 发表于 2020-10-7 08:19

现在获取的IP地址都是不精确的,由于IP地址有限且紧张,同一个经常使用的IP很多时候都不是固定的,有兴趣的可以进入经常使用的邮箱产看登录的IP情况。现在ISP只是提供IP保证用户可以上网,却不能保证用户拥有固定IP,当然大单位和一些IP充足的公司不算在内。

懵懵懂懂008 发表于 2020-10-7 00:11

一行命令即可
获取ip地址:
curl ip.sb
获取地理位置:
curl api.myip.la/cn
获取json格式的地理位置:
curl "https://api.myip.la/cn?json"

立刻 发表于 2020-10-6 22:17

这个就厉害了,python获取位置。

hdyard 发表于 2020-10-6 22:26

刚开始学习python的萌新表示,代码还不能完全看懂,基本功不扎实。。。

7206 发表于 2020-10-6 22:34

请问这怎么样

ABC大叔 发表于 2020-10-6 22:36

谢谢分享,学习了

baipiao1 发表于 2020-10-6 23:09

感谢分享

bookaccount 发表于 2020-10-6 23:14

位置不准确的                                             

eWVhaA 发表于 2020-10-6 23:48

立刻 发表于 2020-10-6 22:17
这个就厉害了,python获取位置。

这不是python获取位置。。是python调用api获取ip地址的位置。。

Ldfd 发表于 2020-10-6 23:58

pycharm关了pep8{:301_976:}
页: [1] 2
查看完整版本: Python获取IP地理位置