ip2location 仅用于查找特定位置的 IP 地址

Posted

技术标签:

【中文标题】ip2location 仅用于查找特定位置的 IP 地址【英文标题】:ip2location for finding ip address of a specific location only 【发布时间】:2017-06-21 04:36:50 【问题描述】:

我正在使用 ip2location 在名为 output.txt 的文件中查找 IP 地址列表的位置,并将答案写入另一个文件 ip_info.txt。我只想在我的文件中写入 IP 地址为的条目美国。以下是我的代码。

import IP2Location;
import urllib; 
import time;
start_time = time.time()
IP2LocObj = IP2Location.IP2Location();
IP2LocObj.open("data/IP-COUNTRY-REGION-CITY-LATITUDE-LONGITUDE-ZIPCODE-TIMEZONE-ISP-DOMAIN-NETSPEED-AREACODE-WEATHER-MOBILE-ELEVATION-USAGETYPE.BIN"); 
 t=open('ip_info','w');
 with open('output','r') as f: # file containing ip addresses
 for line_terminated in f:
     line= line_terminated.rstrip('\r\n'); # strip newline
     if line: # non-blank lines
        rec = IP2LocObj.get_all(line);
        if(rec.country_short == 'US')
           t.write(line);
           t.write('\t');
           t.write(rec.country_short);
           t.write('\n');
print("--- %s seconds ---" % (time.time() - start_time))

我在这里收到以下错误。

File "myprogram.py", line 13
if(rec.country_short == 'US')
SyntaxError: invalid syntax

参考你可以查看https://www.ip2location.com/developers/python

【问题讨论】:

【参考方案1】:

if(rec.country_short == 'US') 不是有效的 Python。

你的意思是:

if rec.country_short == 'US':?

【讨论】:

哦,对不起,我对 python 有点陌生...谢谢 4 d 回答。【参考方案2】:

所有代码

import IP2Location;
import urllib; 
import time;
start_time = time.time()
IP2LocObj = IP2Location.IP2Location();
IP2LocObj.open("data/IP-COUNTRY-REGION-CITY-LATITUDE-LONGITUDE-ZIPCODE-TIMEZONE-ISP-DOMAIN-NETSPEED-AREACODE-WEATHER-MOBILE-ELEVATION-USAGETYPE.BIN"); 
t=open('ip_info','w');
with open('output','r') as f:
     for line_terminated in f:
        line= line_terminated.rstrip('\r\n')
        if line:
          rec = IP2LocObj.get_all(line)
          if rec.country_short == 'US':
             t.write(line);
             t.write('\t');
             t.write(rec.country_short);
             t.write('\n');
print("--- %s seconds ---" % (time.time() - start_time))

你的意思是这样的

【讨论】:

以上是关于ip2location 仅用于查找特定位置的 IP 地址的主要内容,如果未能解决你的问题,请参考以下文章

IP2Location 记录到 Pandas DataFrame

如何使用 curl 下载 IP2Location 数据库

ini 使用Apache保护特定位置仅允许一系列IP(和/或域)[白名单IP]

IP2LOC

Android 如何从设备中查找动态 IP? [复制]

IP2Location + Netmiko 到 SSH 到 VM 到 MTR 并打印结果(如果、elif、else 语句问题)PYTHON3