删除空行python

时间:2012-01-15 21:17:27

标签: python

我使用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()

如何删除空白行/将信息放入元组/保存为变量等。我希望能够开始使用收集的数据。

2 个答案:

答案 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]