如何删除Python3中的HTML标记
我正在编写一个简单的脚本来打印终端中的IP地址。从print语句中删除HTML标记时遇到问题 我已尝试使用urllib库中的.strip()函数。我对regex理解不够,无法输入到这段代码中如何删除Python3中的HTML标记,python,html,regex,parsing,urllib,Python,Html,Regex,Parsing,Urllib,我正在编写一个简单的脚本来打印终端中的IP地址。从print语句中删除HTML标记时遇到问题 我已尝试使用urllib库中的.strip()函数。我对regex理解不够,无法输入到这段代码中 import re import urllib.request, urllib.parse, urllib.error import json data = urllib.request.urlopen('http://checkip.dyndns.org') for line in data:
import re
import urllib.request, urllib.parse, urllib.error
import json
data = urllib.request.urlopen('http://checkip.dyndns.org')
for line in data:
print(line.decode().strip())
我希望输出仅仅是我的IP(xxx.xx.xx.xxx),但是我得到了以下结果
“
如果您想使用正则表达式,而不是剥离标记,您可以使用括号匹配您感兴趣的部分,下面是一个示例:
import re
import urllib.request
data = urllib.request.urlopen('http://checkip.dyndns.org').read().decode()
print(re.search(r'Current IP Address: ([\d\.]+)', data).group(1))
您可以在以下网址找到更多信息和示例:
一般来说,要删除HTML标记,您可以使用如下方法使用re:
print(re.sub('<[^<]+?>', '', '<html>foo</html>'))
print(re.sub(数据中只有一行吗?
)print(line.decode().strip().replace('Current IP CheckCurrent IP Address:','')@LeeGarcon-我相信只有一行数据使用JSON似乎是有效的。谢谢!是的,这并不难,我是个新手。不客气!我的观点不是关于你的技能,而是一个事实,一路备份并询问是否有好的程序友好选项是一个好的开始它很容易被忽略。这就是我想要的,谢谢!正则表达式解决方案工作得很好。
print(re.sub('<[^<]+?>', '', '<html>foo</html>'))
from bs4 import BeautifulSoup
print(BeautifulSoup('<html>foo</html>').get_text())