我使用python 3
从网站(在本例中为ip / location等)提取信息import urllib.request
data = urllib.request.urlopen('http://www.maxmind.com/app/locate_my_ip')
for search in data:
if b'align="center">' in search:
print(next(data).decode().rstrip())
data.close()
如何删除空白行/将信息放入元组/保存为变量等。我希望能够开始使用收集的数据。
答案 0 :(得分:3)
如果你正在进行html scaping / parsing等,请使用像BeautifulSoup这样的库。
确实可以手动处理刮擦。
答案 1 :(得分:2)
如@jordanm所述,最好的方法是使用GeoIP Python API 。
但要回答你的问题 - 你的代码应该看起来更像这样:
import urllib.request, pprint
data = urllib.request.urlopen('http://www.maxmind.com/app/locate_my_ip')
fields = []
for line in data:
if b'class=output' in line:
fields.append(next(data).decode('iso-8859-1').strip())
data.close()
请注意,我更改了测试字符串,并且已包含空白行。这是为了确保可以通过索引轻松识别字段。
要访问字段值,您可以执行以下操作:
address = fields[0]
isp = fields[8]
domain = fields[-1]
如果您要删除特定字段:
del fields[3], fields[4], fields[6]