首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >亚马逊价格网络抓取问题与python,请求和bs4

亚马逊价格网络抓取问题与python,请求和bs4
EN

Stack Overflow用户
提问于 2019-09-05 05:32:55
回答 2查看 315关注 0票数 0

所以我写了一段代码来获取亚马逊上某个产品的信息,并且我已经可以获取价格并设置一个condition.If,价格的条件得到满足,我将使用gmail向myself.The发送一条消息,问题是当我使用代码获取它所说的价格时

'NoneType' object has no attribute 'get_text'

这是我的代码。不是完整的部分,而是只收集有关产品的信息:

代码语言:javascript
复制
url="https://www.amazon.de/Sony-DigitalKamera-Touch-Display-Vollformatsensor-KartenSlots/dp/B07B4L1PQ8/ref=sr_1_3?keywords=sony+a7&qid=1561393494&s=gateway&sr=8-3"
headers={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 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:6])
print(converted_price)
print(title.strip())
EN

回答 2

Stack Overflow用户

发布于 2019-09-05 06:01:16

我在你抓取的页面中找不到priceblock_ourprice

代码语言:javascript
复制
from bs4 import BeautifulSoup
import requests

url = "https://www.amazon.de/Sony-DigitalKamera-Touch-Display-Vollformatsensor-KartenSlots/dp/B07B4L1PQ8/ref=sr_1_3?keywords=sony+a7&qid=1561393494&s=gateway&sr=8-3"
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36"}
page = requests.get(url, headers=headers)
soup = BeautifulSoup(page.content, 'html.parser')
title = soup.find('span', {'id': 'productTitle'}).text
print(title.strip())
票数 0
EN

Stack Overflow用户

发布于 2019-09-05 06:18:10

只需将user-agent更改为Mozilla only并尝试以下代码即可。

代码语言:javascript
复制
url="https://www.amazon.de/Sony-DigitalKamera-Touch-Display-Vollformatsensor-KartenSlots/dp/B07B4L1PQ8/ref=sr_1_3?keywords=sony+a7&qid=1561393494&s=gateway&sr=8-3"
headers={"User-Agent":"Mozilla/5.0"}
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()
price=price.replace(',','')
converted_price=float(price[0:6])
print(converted_price)
print(title.strip())

输出:

代码语言:javascript
复制
1.9213
Sony Alpha 7M3 E-Mount Vollformat Digitalkamera ILCE-7M3 (24,2 Megapixel, 7,6cm (3 Zoll) Touch-Display, Exmor R CMOS Vollformatsensor, XGA OLED Sucher, 2 Kartenslots, nur Gehäuse) schwarz
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57795867

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档