我试图从下面的站点获取ip,我能够用python beautiful soup获得整个站点,并使用python regex模块获得ip4地址 但我遇到了一个问题,我只需要ipv4的ip是在节说“S3”任何帮助将不胜感激
https://ip-ranges.amazonaws.com/ip-ranges.json
akamai_feed = urlopen('https://ip-ranges.amazonaws.com/ip-ranges.json').read()
soup = BeautifulSoup(akamai_feed, 'html.parser')
ip_addr = re.findall(r'\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}.\d{1,3}.\b', soup.get_text())
正则表达式在这里是不必要的,因为IPs可能不需要验证,如果我正确理解这个问题,我们只想获得
"ip_prefix"
值,但是如果您希望使用正则表达式实现这一点,这可能就足够了:Demo
测试
此提要是Json文件,因此可以使用Python标准库中的
json
模块:印刷品:
该网站包含一个作为JSON的嵌套字典,因此您需要首先读取JSON数据:
现在您已经有了实际的数据,可以使用filter()函数进行筛选:
这将为您提供
'service'
为'S3'
的词典列表。或者,您也可以使用列表:如果你只对IP地址感兴趣,那么
如果
/xx
可以是任意数量的数字,或者如果IP地址是IPv4字符串以外的格式,那么regex将有助于过滤字符串。你知道吗相关问题 更多 >
编程相关推荐