我有一个.html文件根据程序中的操作动态填充,但是我在搜索确切的字符串时遇到问题,问题是虽然我知道文件不是空白的,但是循环不会返回任何内容并认为它是空白的。
我搜索并阅读了许多其他SO问题并尝试了其中的许多问题,包括'blah' in line
,re.findall
和with open()
,他们一直只返回空白,我在想我需要HTML解析或类似?
任何人都可以为我阐明这一点吗?
f = open(outApp + '_report.html', 'r+')
for line in f:
#check the for loop works
self.progressBox.AppendText(line)
if 'mystring' in line:
#do stuff
我希望找到的字符串是My country
,它包含在h2标签
答案 0 :(得分:0)
如果没有特殊的HTML解析器,绝对不应该这样做。
谷歌关于你想要的任何python HTML解析器。对于基本用法,它们都很容易。例如lxml
。在伪代码中,您的任务将是:
from some_cool_lib import SomeCoolHTMLParser
parser = SomeCoolHTMLParser()
doc = parser.parse(path_to_my_html_file)
h2_elements = doc.findall('h2')
for h2 in h2_elements:
if h2.text == 'My country':
# do stuff