我正在嘗試抓取li元素并將結果添加到字典中,以便我的代碼始終獲取里面的內容li,最后我將從這本字典中創建 df。
我的代碼:
link = 'https://www.propertyfinder.eg/en/plp/rent/apartment-for-rent-cairo-hay-el-maadi-degla-street-207-3455087.html'
r = requests.get(link , headers=headers)
soup = bs(r.content,'lxml')
data = {}
data1 = soup.find('ul')
s = [li.get_text(strip=True) for li in data1.select("li")]
data.update(dict(s))
data
我收到了這個錯誤:
ValueError:字典更新序列元素 #0 的長度為 23;2 是必需的
為了清楚起見,我想要一本這樣的字典:
{'Property type' : 'Apartment',
'Property size' : '2,368 sqft / 220 sqm',
'Bedrooms' : '3',
'Bathrooms':4
}
uj5u.com熱心網友回復:
您需要獲取包含要放入字典的鍵和值的特定元素。鍵在<span>元素中,值在<div >.
您可以使用字典推導直接創建字典,而不是使用后跟dict()and的串列推導dict.update()。
data = {li.find('span').get_text(strip=True): li.find('div', class_="property-facts__value").get_text(stripe=True)
for li in data1.select("li")}
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/527423.html
標籤:Python网页抓取
上一篇:從r中的網站抓取標題的問題
