如何通过id来选择HTML元素,id是一个很好的数字



我正在尝试选择一个id为数字的HTML元素,即<div id=27047243>

当我尝试使用像soup.select("#27047243")这样的select方法时,我会得到一个错误,说id选择器格式错误

我想我需要以某种方式转义这个数字,我尝试了这样的soup.select(r"#3{number}",但即使我不再得到错误,我也无法得到元素

我知道我可以使用find方法soup.find(id="27047243"),这很有效,但问题是我需要深入到嵌套元素中,所以我想知道是否有一种方法可以使用"select"来实现这一点,这样我就可以使用CSS选择器

您可以使用div[id="27047243"]:

from bs4 import BeautifulSoup
html_doc = """
<div id=27047243>
I want this.
</div>
"""
soup = BeautifulSoup(html_doc, "html.parser")
print(soup.select_one('div[id="27047243"]'))

打印:

<div id="27047243">
I want this.
</div>

你可以试试这个:

soup.select_one('div#27047243')

最新更新