![](/img/trans.png)
[英]How to find the list in a list of lists whose sum of elements is the greatest?
[英]How to find elements whose id has prefix "Translations_"?
我有一個 html
<details data-level="2" open="">
<details data-level="5" open="">
<summary class="section-heading">
<h5 id="Translations">Translations</h5>
</summary>
</details>
<details data-level="5" open="">
<summary class="section-heading">
<h5 id="Translations_2">Translations</h5>
</summary>
</details>
<details data-level="5" open="">
<summary class="section-heading">
<h5 id="Translations_6">Translations</h5>
</summary>
</details>
</details>
我想提取Translation
所表示的這些元素
<h5 id="Translations">Translations</h5>
<h5 id="Translations_2">Translations</h5>
<h5 id="Translations_6">Translations</h5>
使用soup.select('details[data-level] > summary[class] > h5[id="Translations"]')
,我只能提取第一個元素。 你能解釋一下如何修改我的代碼嗎?
from bs4 import BeautifulSoup
texte = """
<details data-level="2" open="">
<details data-level="5" open="">
<summary class="section-heading">
<h5 id="Translations">Translations</h5>
</summary>
</details>
<details data-level="5" open="">
<summary class="section-heading">
<h5 id="Translations_2">Translations</h5>
</summary>
</details>
<details data-level="5" open="">
<summary class="section-heading">
<h5 id="Translations_6">Translations</h5>
</summary>
</details>
</details>
"""
soup = BeautifulSoup(texte, 'html.parser')
soup.select('details[data-level] > summary[class] > h5[id="Translations"]')
您可以使用attr^=value
CSS 選擇器。
表示屬性名稱為 attr 的元素,其值以值作為前綴(在前)。
from bs4 import BeautifulSoup
data = '''\
<details data-level="2" open="">
<details data-level="5" open="">
<summary class="section-heading">
<h5 id="Translations">Translations</h5>
</summary>
</details>
<details data-level="5" open="">
<summary class="section-heading">
<h5 id="Translations_2">Translations</h5>
</summary>
</details>
<details data-level="5" open="">
<summary class="section-heading">
<h5 id="Translations_6">Translations</h5>
</summary>
</details>
</details>
'''
soup = BeautifulSoup(data, 'html.parser')
for e in soup.select('h5[id^=Translations]'):
print(e)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.