问题描述
我正在为Amazon Price Tracker编写我的第一个现实生活项目。我从这段视频中得到了这个主意:https://www.youtube.com/watch?v=d_s-jygcJ1k&t=856s
不幸的是,在几行之后,我收到“类型方法的对象没有len()”错误,由于我的代码看起来像视频中那个人的代码,所以无法弄清楚我忘记了什么地方:
import bs4
import urllib.request
import smtplib
import time
url ='https://www.amazon.de/BASN-Ear-Kopfh%C3%B6rer-Ger%C3%A4uschunterdr%C3%BCckung-HiFi-Ohrh%C3%B6rer-Kopfh%C3%B6rer/dp/B07JLYHFC8/ref=sr_1_21?__mk_de_DE=%C3%85M%C3%85%C5%BD%C3%95%C3%91&dchild=1&keywords=in+ear+mmcx&qid=1598721906&s=apparel&sr=1-21'
sauce = urllib.request.urlopen(url).read
soup = bs4.BeautifulSoup(sauce,"html.parser")
prices = soup.find(id="priceblock_ourprice").get_text()
prices = float(prices.replace("€",""))
print(prices)
我在开头出现“ soup”的错误。如果有人可以帮忙,我会很感激!
解决方法
import bs4
import urllib.request
import smtplib
import time
url ='https://www.amazon.de/BASN-Ear-Kopfh%C3%B6rer-Ger%C3%A4uschunterdr%C3%BCckung-HiFi-Ohrh%C3%B6rer-Kopfh%C3%B6rer/dp/B07JLYHFC8/ref=sr_1_21?__mk_de_DE=%C3%85M%C3%85%C5%BD%C3%95%C3%91&dchild=1&keywords=in+ear+mmcx&qid=1598721906&s=apparel&sr=1-21'
sauce = urllib.request.urlopen(url).read()
soup = bs4.BeautifulSoup(sauce,"html.parser")
prices = soup.find(id="priceblock_ourprice").get_text()
prices = prices.replace("€","")
print(prices)