我正在尝试学习BeautifulSoup,但我以前没有经验,我正在从该问题的答案-> python BeautifulSoup searching a tag
中测试实现。但是我的输出与他们列出的输出不匹配,因为\n
没有转换成新行。有什么问题,我该如何解决?
输入:
from bs4 import BeautifulSoup
html_doc = """<html>
<body>
<a class="black">
<b>
text1
</b>
<c>
text2
</c>
</a>
<a class="micio">
</a>
<a class="black">
</a>
</body>
</html>"""
soup = BeautifulSoup(html_doc, "lxml")
soup.prettify()
print soup.find_all("a", {"class":"black"})
输出:
[<a class="black">\n<b>\n text1\n </b>\n<c>\n text2\n </c>\n</a>, <a class="black">\n</a>]
答案 0 :(得分:0)
如果您希望在标签中输出文本,则最好通过find_all
方法遍历返回的列表
all = soup.find_all("a", {"class":"black"})
for i in all:
print(i.text)
这将返回带有空格的标签文本,该空格可以清除