python - 第一个程序不会打印价格
问题描述
我正在为 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)
我收到开头带有“汤”的行的错误。如果有人可以帮助我将不胜感激!
解决方案
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)
推荐阅读
- reactjs - PWA React - 检查一个人是否在指定区域内的最简单方法?
- javascript - 三角形分隔线
- java - java.sql.SQLException:用户'root'@'localhost'的访问被拒绝-无法创建与mysql的连接
- javascript - 如何对 PHP 表进行文本转语音
- amazon-web-services - 在多个 EC2 实例上使用 HTTPS,并更改公共 IPv4 DNS
- reactjs - 我正在尝试将 DatePicker 组件插入到我的项目中,但出现错误
- ibm-cloud - 是否有适用于 IBM Cloud PowerPC Virtual 服务器实例的 API - power-iaas?
- bamboo - SSH 远程文件执行
- javascript - 如何从其键值对更改对象的值并将这个新项目迭代地添加到同一个对象?
- python - 根据字典中的值列表在 pandas 中创建一个新列