<p>为此,如果您更喜欢python,那么我发现以下软件包:</p>
<h2>ip2geotools</h2>
<p><a href="https://pypi.org/project/ip2geotools/#:%7E:text=ip2geotools%20is%20a%20simple%20tool,API%20for%20several%20geolocation%20databases." rel="nofollow noreferrer">ip2geotools</a>它可以从IP地址提取纬度和经度</p>
<p>ip2geotools是一个简单的工具,用于从各种地理位置数据库获取给定IP地址的地理位置信息。这个包为几个地理定位数据库提供了一个API</p>
<p>一个例子如下:</p>
<pre class="lang-py prettyprint-override"><code>>>> response = DbIpCity.get('147.229.2.90', api_key='free')
>>> response.ip_address
'147.229.2.90'
>>> response.city
'Brno (Brno střed)'
>>> response.region
'South Moravian'
>>> response.country
'CZ'
>>> response.latitude
49.1926824
>>> response.longitude
16.6182105
>>> response.to_json()
'{"ip_address": "147.229.2.90", "city": "Brno (Brno střed)", "region": "South Moravian", "country": "CZ", "latitude": 49.1926824, "longitude": 16.6182105}'
>>> response.to_xml()
'<?xml version="1.0" encoding="UTF-8" ?><ip_location><ip_address>147.229.2.90</ip_address><city>Brno (Brno střed)</city><region>South Moravian</region><country>CZ</country><latitude>49.1926824</latitude><longitude>16.6182105</longitude></ip_location>'
>>> response.to_csv(',')
'147.229.2.90,Brno (Brno střed),South Moravian,CZ,49.1926824,16.6182105'
</code></pre>
<h2>Geoip2</h2>
<p>还提供了另一个包<a href="https://pypi.org/project/geoip2/" rel="nofollow noreferrer">geoip2</a>,它与此包类似,但具有异步请求处理支持和单独的数据库搜索选项</p>
<p>如果需要的话,您可以查看他们的网站上的同步和异步web服务示例</p>
<h2>IP2定位</h2>
<p>由于这个API大部分是付费的,我试图找到一个免费版本,我发现这个名为<a href="https://github.com/chrislim2888/IP2Location-Python" rel="nofollow noreferrer">Ip2location Python</a>的库,它在一个月内为您提供30000次免费查找</p>