0

いくつかの html コンテンツを解析するために robobrowser を使用しています。中に BeautifulSoup があります。指定した文字列が内部にあるコメントを見つけるにはどうすればよいですか

<html>
<body>
<div>
<!-- some commented code here!!!<div><ul><li><div id='ANY_ID'>TEXT_1</div></li>
<li><div>other text</div></li></ul></div>-->
</div>
</body>
</html>

実際、ANY_ID を知っている場合は TEXT_1 を取得する必要があります ありがとう

4

1 に答える 1

0

text引数を使用して、型が であることを確認しますComment。次に、コンテンツをBeautifulSoup再度ロードし、次の方法で目的の要素を見つけますid

from bs4 import BeautifulSoup
from bs4 import Comment

data = """
<html>
<body>
<div>
<!-- some commented code here!!!<div><ul><li><div id='ANY_ID'>TEXT_1</div></li>
<li><div>other text</div></li></ul></div>-->
</div>
</body>
</html>
"""

soup = BeautifulSoup(data, "html.parser")
comment = soup.find(text=lambda text: isinstance(text, Comment) and "ANY_ID" in text)

soup_comment = BeautifulSoup(comment, "html.parser")
text = soup_comment.find("div", id="ANY_ID").get_text()
print(text)

印刷しTEXT_1ます。

于 2016-08-06T20:36:59.210 に答える