检查URL中是否存在IP地址return something else return something

2024-09-28 20:52:59 发布

您现在位置:Python中文网/ 问答频道 /正文

如何使用Python检查URL中是否存在IP地址? 有什么功能可以用来检查IP地址吗? 为示例:数据1&数据2获得IP后将返回1,而数据3将返回0

data =['http://95.154.196.187/broser/6716804bc5a91f707a34479012dad47c/',
       'http://95.154.196.187/broser/',
       'http://paypal.com.cgi-bin-websc5.b4d80a13c0a2116480.ee0r-cmd-login-submit-dispatch-']

def IP_exist(data):
    for b in data:
        containsdigit = any(a.isdigit() for a in b)
        if containsdigit:
            print("1")
        else:
            print("0")

Tags: 数据in功能ipcomhttpurl示例
2条回答

如果您想确保IP是正确的,您可以使用另一个答案中建议的regex从url中提取它,然后验证您可以使用netaddr它使用起来相当简单。在

from netaddr import IP, AddrFormatError
ip = extract_ip_from_url(url)
try:
  IP(ip)
  return True
except AddrFormatError:
  return False

使用正则表达式:

>>> import re
>>> re.match(r'http://\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/.*', 'http://95.154.196.187/broser/6716804bc5a91f707a34479012dad47c/')
<_sre.SRE_Match object at 0x7f4412043440>
>>> re.match(r'http://\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/.*', 'http://paypal.com.cgi-bin-websc5.b4d80a13c0a2116480.ee0r-cmd-login-submit-dispatch-')
>>> 

对于更细粒度的regex外观here。在

相关问题 更多 >