[英]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.