我正在创建一个程序,打印出用户的Ip地址。
所以我想做的是获取ipchicken.com的Html,并只打印出“名称地址”部分。
这是我目前的代码:

import urllib
sock = urllib.urlopen("http://ipchicken.com")
htmlSource = sock.read()
sock.close()
print htmlSource

现在如何打印html的ip部分?
如果有其他方法可以使用python获取用户的ip,请包括:)

最佳答案

只需运行一个regex来查找htmlSource上的IP结构模式

ips = re.findall('(?:[\d]{1,3})\.(?:[\d]{1,3})\.(?:[\d]{1,3})\.(?:[\d]{1,3})',
                 htmlSource)

变量ips将包含IP结构的所有文本。
整个代码看起来像:
import urllib,re
sock = urllib.urlopen("http://ipchicken.com")
htmlSource = sock.read()
sock.close()
print htmlSource
ips = re.findall('(?:[\d]{1,3})\.(?:[\d]{1,3})\.(?:[\d]{1,3})\.(?:[\d]{1,3})', htmlSource)
print "IPs in page", ips

关于python - 如何从html到Python获取一行文本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5868341/

10-15 02:09