我已尝试使用以下代码在html文件中查找带下划线的文本,但它无效。
f=open("jk.html","r")
while True:
for line in f.read():
for i in line.split():
j=i.find("<ul>")
k=i.find("</ul>")
for m in range(j, k):
print(m)
f.close()
这是我的HTML文件:
<html>
<body>
<ul> hill </ul>
<p> millfhhf </p>
</body>
</html>
答案 0 :(得分:1)
如果您使用BeautifulSoup模块,这将变得非常简单,这将更好地解析HTML(特别是如果它是凌乱的HTML)。
import bs4
f = open("test.html")
soup = bs4.BeautifulSoup(f)
for underlined in soup.find_all('u'):
print underlined.get_text()
此外,HTML中带下划线的文字标记为&lt; u&gt;
<html>
<body>
<p>
<u> hill </u>
<u> millfhhf </u>
</p>
</body>
</html>
答案 1 :(得分:0)
此代码不起作用,因为read()
返回文件的其余部分,然后您通过char迭代它。对于行使用readline()
或只是迭代文件:
for line in fp:
# do whatever
也就是说,使用htmlparser或BeautifulSoup或XML解析器进行任何可靠的解析。
此外,下划线的标记为<u>
,而不是<ul>
。