亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

NoneType 對象沒有屬性“get_text”——Python

NoneType 對象沒有屬性“get_text”——Python

德瑪西亞99 2023-12-20 16:07:23
我正在從亞馬遜進行一些網絡抓取,遇到了這個錯誤(標題中提到)。這是我的代碼:import requestsfrom bs4 import BeautifulSoupimport smtplibURL = 'https://www.amazon.co.uk/UGREEN-Adapter-Samsung-Oneplus- Blackview/dp/B072V9CNTK/ref=sr_1_2_sspa?keywords=otg+cable&qid=1578610622&sr=8-2-spons&psc=1&spLa=ZW5jcnlwdGVkUXVhbGlmaWVyPUEzRzRRUUdaR05RVlRJJmVuY3J5cHRlZElkPUEwNjExNjM4MVI4NVZaTFlYTlhGSCZlbmNyeXB0ZWRBZElkPUEwMjg1MTU0OEhROERWQTBSRFAzJndpZGdldE5hbWU9c3BfYXRmJmFjdGlvbj1jbGlja1JlZGlyZWN0JmRvTm90TG9nQ2xpY2s9dHJ1ZQ==' headers = {"User Agent": 'Mozilla/5.0 (Windows NT 10.0; Win64; x64 AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.117 Safari/537.36'}page = requests.get(URL, headers=headers)soup = BeautifulSoup(page.content, 'html.parser')title = soup.find(id="productTitle").get_text()price = soup.find(id="priceblock_ourprice").get_text()converted_price = float(price[0:3])def check_price():    print(soup.find(id="priceblock_ourprice").get_text())    converted_price = float(price[0:3])    if(converted_price < 7.00):        send_mail()
查看完整描述

1 回答

?
牧羊人nacy

TA貢獻1862條經驗 獲得超7個贊

這是因為該頁面是使用 javascript 動態加載的。您可以使用selenium來獲取網站的html代碼,如下所示:


from selenium import webdriver


URL = 'https://www.amazon.co.uk/UGREEN-Adapter-Samsung-Oneplus- Blackview/dp/B072V9CNTK/ref=sr_1_2_sspa?keywords=otg+cable&qid=1578610622&sr=8-2-spons&psc=1&spLa=ZW5jcnlwdGVkUXVhbGlmaWVyPUEzRzRRUUdaR05RVlRJJmVuY3J5cHRlZElkPUEwNjExNjM4MVI4NVZaTFlYTlhGSCZlbmNyeXB0ZWRBZElkPUEwMjg1MTU0OEhROERWQTBSRFAzJndpZGdldE5hbWU9c3BfYXRmJmFjdGlvbj1jbGlja1JlZGlyZWN0JmRvTm90TG9nQ2xpY2s9dHJ1ZQ=='


driver = webdriver.Chrome()


driver.get(URL)


time.sleep(5)


page = driver.page_source


driver.close()

因此,這是完整的代碼:


from bs4 import BeautifulSoup

from selenium import webdriver

import time


URL = 'https://www.amazon.co.uk/UGREEN-Adapter-Samsung-Oneplus- Blackview/dp/B072V9CNTK/ref=sr_1_2_sspa?keywords=otg+cable&qid=1578610622&sr=8-2-spons&psc=1&spLa=ZW5jcnlwdGVkUXVhbGlmaWVyPUEzRzRRUUdaR05RVlRJJmVuY3J5cHRlZElkPUEwNjExNjM4MVI4NVZaTFlYTlhGSCZlbmNyeXB0ZWRBZElkPUEwMjg1MTU0OEhROERWQTBSRFAzJndpZGdldE5hbWU9c3BfYXRmJmFjdGlvbj1jbGlja1JlZGlyZWN0JmRvTm90TG9nQ2xpY2s9dHJ1ZQ=='


driver = webdriver.Chrome()


driver.get(URL)


time.sleep(5)


page = driver.page_source


driver.close()


soup = BeautifulSoup(page, 'html5lib')

title = soup.find(id="productTitle")

price = soup.find(id="priceblock_ourprice")


print(soup.find(id="priceblock_ourprice").get_text())

輸出:


£6.99


查看完整回答
反對 回復 2023-12-20
  • 1 回答
  • 0 關注
  • 157 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號