我正在嘗試抓取這個網站:https ://datausa.io/profile/university/cuny-city-college/
我的代碼只檢索第一個匹配的 div 類標簽,即學費,但我只想檢索食宿費用。如何決議特定標簽?
import requests
url = requests.get('https://datausa.io/profile/university/cuny-city-college/')
soup = BeautifulSoup(url.text, 'html.parser')
rb = soup.find('div',class_='stat-value')
print(rb.prettify)
uj5u.com熱心網友回復:
您可以使用find方法state-titel并在其中添加特定文本,以便它找到該標簽,我們必須從中提取上一個標簽,因此請previous在其上使用方法!
import requests
url = requests.get('https://datausa.io/profile/university/cuny-city-college/')
soup = BeautifulSoup(url.text, 'html.parser')
rb = soup.find('div',class_='stat-title',text="Room and Board").find_previous()
print(rb.get_text())
輸出:
$15,406
uj5u.com熱心網友回復:
您可以使用:has,:-soup-contains和相鄰的同級組合符( ) 來指定stat-value緊鄰的stat-title包含文本“Room and Board”
import requests
from bs4 import BeautifulSoup as bs
soup = bs(requests.get('https://datausa.io/profile/university/cuny-city-college/').text)
print(soup.select_one('.stat-value:has( .stat-title:-soup-contains("Room and Board"))').text)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/385202.html
