刮飯店網站檢索標題和價格。 「hotelInfo」是div
,它包含有趣的內容。BeautifulSoup搜索beautifulsoup結果?
對我來說,我只想在div
上執行操作。我的代碼如下 -
from bs4 import BeautifulSoup
import requests
response = requests.get("http://$hotelurlhere.com")
soup = BeautifulSoup(response.text)
hotelInfo = soup.select('div.hotel-wrap')
hotelTitle = soup.find_all('h3', attrs={'class': 'p-name'})
hotelNameList = []
hotelPriceList = []
for hotel in hotelInfo:
for title in hotelTitle:
hotelNameList.append(title.text)
它是更有意義的說,hotelTitle應該是在hotelInfo上面的Beautifulsoup搜索。然而,當我嘗試這個
hotelTitle = hotelInfo.find_all('h3', attrs={'class': 'p-name'})
錯誤消息:返回
Traceback (most recent call last):
File "main.py", line 8, in <module>
hotelTitle = hotelInfo.find_all('h3', attrs={'class': 'p-name'})
AttributeError: 'list' object has no attribute 'find_all'
錯誤這是涉及到列表元素沒有「find_all」的屬性。我知道這是因爲hotelInfo是返回的列表元素。我在正確的方法中搜索了信息,以檢查此列表中的h3
信息,但我沒有取得任何成功。
這樣做的最好方法是什麼? 我不應該能夠將hoteTitle設置爲hotelInfo.find_all而不僅僅是soup.find_all?
你的問題還不清楚。請用預期的輸出顯示示例HTML文檔。 – styvane
更新錯誤消息和澄清。沒有我可以在這裏分享的樣本數據。 – mutantChickenHer0