簡體   English   中英

找到帶有“變量”的跨度標簽? 但沒有 class - 美麗的湯/Python

[英]Finding a span tag with a 'variable'? but no class - Beautiful soup/Python

我正在使用 BeautifulSoup 和 Python 來查找似乎沒有 class 的跨度標簽。

我想在 span 標簽中獲取文本“ 1hr ago ”,它有一個...變量? 稱為“數據自動化”,但我似乎不知道如何使用漂亮的湯找到它。

第一個跨度的 class 為“ _3mgsa7- _2CsjSEq _2gpxOIH _15GBVuT _3VdCwhL _2Ryjovs ”,它使用我的代碼生成文本,但也有錯誤。

誰能幫我修復錯誤或解釋我如何找到“數據自動化”跨度標簽?

我的代碼:

joblist =soup.find_all('article', class_='_37iADb_ _3BsYYYt')
for job in joblist:
    listed = job.find('span', class_="_3mgsa7- _2CsjSEq _2gpxOIH _15GBVuT _3VdCwhL _2Ryjovs").text
    print(f'listed {listed}')

錯誤:

  Traceback (most recent call last):
      File "C:\Users\User\PycharmProjects\Scraping1\ScrapeTut 2 - scraping websites.py", line 34, in <module>
        listed = job.find('span', class_="_3mgsa7- _2CsjSEq _2gpxOIH _15GBVuT _3VdCwhL _2Ryjovs").text
    AttributeError: 'NoneType' object has no attribute 'text'

網站 HTML 代碼:

<span class="_3mgsa7- _2CsjSEq _2gpxOIH _15GBVuT _3VdCwhL _2Ryjovs">
  <span class="">
    <span aria-hidden="true" data-automation="jobListingDate">1h ago</span>
  </span>
</span>

您可以通過將attrs dict 作為關鍵字參數傳遞給.find().find_all()來 select 具有特定屬性(例如data-automation )的<span>元素。 請參閱文檔

要找到<span>data-automation有任何價值的地方:

soup.find('span', attrs={'data-automation': True})

data-automation具有特定價值的地方:

soup.find('span', attrs={'data-automation': 'jobListingDate'})

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM