微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从html字符串(python)中提取IP地址

我的朋友,

我真的想使用Python从字符串(实际上是一行html)中提取一个简单的IP地址。但事实证明,过了2个小时,我仍然无法想出一个很好的解决方案。

>>> s = "<html><head><title>Current IP Check</title></head><body>Current IP Address: 165.91.15.131</body></html>"

– ‘165.91.15.131’是我想要的!

我尝试使用正则表达式,但到目前为止,我只能得到第一个数字。

>>> import re
>>> ip = re.findall( r'([0-9]+)(?:\.[0-9]+){3}',s )
>>> ip
['165']

实际上,我不觉得我对reg-expression有一个牢固的把握,上面的代码是从网络上的其他地方被发现和修改的。

寻求您的投入和想法!

解决方法

删除您的捕获组:
ip = re.findall( r'[0-9]+(?:\.[0-9]+){3}',s )

结果:

['165.91.15.131']

笔记:

>如果您正在解析HTML,那么查看BeautifulSoup可能是个好主意。>您的正则表达式匹配一些无效的IP地址,例如0.00.999.9999。这不一定是一个问题,但你应该知道它,并可能处理这种情况。您可以将部分修复的{1,3}更改为不会使正则表达式过于复杂。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐