detail11detail2detail3< /p>"> 提取多個沒有類別的span元素中的文字 - 使用BeautifulSoup-PHP中文網路問答
提取多個沒有類別的span元素中的文字 - 使用BeautifulSoup
P粉903052556
P粉903052556 2023-09-15 18:03:23
0
2
855

這就是HTML的樣子:

detail1 1 detail2 detail3

我需要提取detail2和detail3。

但是使用這段程式碼,我只能得到detail1。

info = data.find("p", class_ = "details").span.text

我該如何提取所需的項目?

提前感謝!

P粉903052556
P粉903052556

全部回覆 (2)
P粉041856955

在你的情況下,選擇更具體的元素,也就是選擇所有具有class為number的元素的兄弟元素:

soup.select('span.number ~ span')

範例

from bs4 import BeautifulSoup html='''

detail1 1 detail2 detail3

''' soup = BeautifulSoup(html) [t.text for t in soup.select('span.number ~ span')]

輸出

['detail2', 'detail3']
    P粉099145710

    您可以找到所有的並進行普通索引:

    from bs4 import BeautifulSoup html_doc = """\ 

    detail1 1 detail2 detail3

    """ soup = BeautifulSoup(html_doc, "html.parser") spans = soup.find("p", class_="details").find_all("span") for s in spans[-2:]: print(s.text)

    輸出結果:

    detail2 detail3

    或使用 CSS 選擇器:

    spans = soup.select(".details span:nth-last-of-type(-n+2)") for s in spans: print(s.text)

    輸出結果:

    detail2 detail3
      最新下載
      更多>
      網站特效
      網站源碼
      網站素材
      前端模板
      關於我們 免責聲明 Sitemap
      PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!