python - 从 webscrape Python 发出挑选价格
问题描述
遵循指南但仍无法从网站上选择价格 - 我想选择产品名称和产品价格。
我可以选择控制台中出现的名称=。价格返回“无”。请不要输入错误,我不知道我哪里出错了。
page = requests.get('https://www.wickes.co.uk/search?text=brick')
soup = BeautifulSoup(page.content, 'html.parser')
all_bricks = soup.find(class_='products-list products-list-v2')
items = all_bricks.find(class_='card product-card')
items_name = all_bricks.find(class_='product-card__title product-card__title-v2')
price_box = items.find("div", attrs={"class": "product-card__price-value "})
price = price_box
print (price)
解决方案
那么你有两个问题:
- 您在类名中添加了额外的空格。
BeautifulSoup
旨在修剪 html DOM 中的额外空格。 - 你没有
.text
用来拿回价格。
from bs4 import BeautifulSoup
import requests
page = requests.get('https://www.wickes.co.uk/search?text=brick')
soup = BeautifulSoup(page.content, 'html.parser')
all_bricks = soup.find(class_='products-list products-list-v2')
items = all_bricks.find(class_='card product-card')
items_name = all_bricks.find(class_='product-card__title product-card__title-v2')
price_box = items.find("div", attrs={"class": "product-card__price-value"}) #Extra space removed
price = price_box.text #adding ".text"
print (price)
推荐阅读
- html - css网格,一些卡片大尺寸,如何放置它们
- android - 如何解决 Firebase 找不到 firebase-auth-icense.aar 问题?
- sql - 比较上一列数据与下一列数据
- c# - 将实体框架连接字符串更改为服务器
- r - 两个单独数据集中的纬度和经度之间的距离
- json - 第 6 行有什么问题导致解析错误?
- javascript - 带有类的属性的Jquery单击事件
- adapter - 接收位置上的 SFTP 适配器不拾取没有扩展名的文件
- python - Python Pandas:有效地将 1 Col(系列)粘贴到 pd.df w/ >1 Cols 的底部;新行的其他列应该为空
- amazon-s3 - Redshift COPY 命令无法从 S3 加载数据