0
我目前正在從Udemy的Python教程(總新手到Python)學習。 我目前在一個美麗的湯部分,我們正在忙於練習,以刮除作者在亞馬遜書上的價格。 我的代碼如下:Python - 美麗的湯選擇只返回[]
import bs4, requests
url = 'https://www.amazon.com/Automate-Boring-Stuff-Python-Programming/dp/1593275994/'
headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36'}
response = requests.get(url, headers=headers)
response.raise_for_status()
soup = bs4.BeautifulSoup(response.text, 'html.parser')
soup.select('#addToCart > a > h5 > div > div.a-column.a-span4.a-text-right.a-span-last > span.a-size-medium.a-color-price.header-price')
當我檢查價格元素的路徑,我可以看到這一點:
<span class="a-size-medium a-color-price header-price">
$25.45
</span>
然而,當我複製和由soup.select貼吧並運行python命令,我只返回一個[]即2個方括號。我應該得到第二個代碼框的內容。
更新:在我輸入問題期間,它確實正確顯示了結果,框中的內容爲$ 25.45,但是5分鐘後它返回僅獲取[]括號的結果。我在一個代理之後,並且沒有通過代理嘗試,結果沒有變化。我在做response.raise_for_status()時沒有收到任何錯誤。請有人幫忙嗎?
(請記住,我不打算屏幕刮任何商業網站在那裏,我非常希望我的學習收穫應用到室內場景)
謝謝!
謝謝你,這並不工作 –
soup.select( '搭設尺寸-medium.a色 - price.header價格')也爲我工作 –