3 回答

TA貢獻(xiàn)1806條經(jīng)驗(yàn) 獲得超5個(gè)贊
id="productTitle"
這里的問(wèn)題是響應(yīng)的內(nèi)容中不存在 的元素。您可以通過(guò)打開(kāi) Chrome 或其他瀏覽器中的“源”選項(xiàng)卡來(lái)驗(yàn)證這一點(diǎn)。按 Ctrl+Shift+I 并單擊頁(yè)面頂部的“源”。展開(kāi)www.amazon.es
及其下的文件夾。單擊該文件并按 Ctrl+F 并鍵入“productTitle”。沒(méi)有找到。
您還會(huì)看到該頁(yè)面有大量 JavaScript。當(dāng)該代碼在瀏覽器中運(yùn)行時(shí),很可能會(huì)將元素添加到 DOM。當(dāng)您使用 requests 和 BeautifulSoup 時(shí),不會(huì)執(zhí)行此 JavaScript 代碼,因此您不會(huì)獲得與在瀏覽器中看到的完全相同的結(jié)果。

TA貢獻(xiàn)1789條經(jīng)驗(yàn) 獲得超8個(gè)贊
當(dāng)轉(zhuǎn)到代碼中提供的鏈接,然后在 HTML 代碼中手動(dòng)搜索“productTitle”時(shí),會(huì)出現(xiàn)三個(gè)結(jié)果。問(wèn)題可能是您只是得到第一個(gè)結(jié)果,因此而不是實(shí)際的標(biāo)題。我猜你想要id=productTitle的跨度。嘗試使用
soup.find("span", id='productTitle').get_text()

TA貢獻(xiàn)1951條經(jīng)驗(yàn) 獲得超3個(gè)贊
具有諷刺意味的是,亞馬遜不喜歡機(jī)器人瀏覽那里的東西。他們對(duì)漂亮的湯、硒等東西設(shè)置了某種障礙。
添加回答
舉報(bào)