试图刮一个页面,但它不循环,并通过提取数据从其他项目和aslo我只想要的文本,但它显示
'NoneType' object has no attribute 'text'
我糊涂了这是我密码第一个
rur96b6h1#
要获得名称,价格,该页面上的产品折扣,你可以尝试:
import requests import pandas as pd from bs4 import BeautifulSoup url = "https://www.jumia.com.ng/computing/" page = requests.get(url) soup = BeautifulSoup(page.content, "html.parser") all_data = [] for article in soup.select("article.prd"): laptop_name = article.find(class_="name").text price = article.find("div", class_="prc").get("data-oprc") best_price = article.find("div", class_="prc").text percentage_discount = article.find("div", class_="_dsct") percentage_discount = ( percentage_discount.text if percentage_discount else "N/A" ) info = [laptop_name, price, best_price, percentage_discount] all_data.append(info) df = pd.DataFrame(all_data, columns=["Name", "Price 1", "Price 2", "Discount"]) print(df.head().to_markdown(index=False))
印刷品:| 名称名称名称|价格1|价格2|折扣|| - -|- -|- -|- -|| Speedisk 3.0笔式闪存驱动器64 GB-金属与微型USB OTG| 1万日元|2,699英镑|百分之七十三|| 联想V15-IGL英特尔赛扬1 TB硬盘4GB内存Win 10| 160,990英镑|130,990英镑|百分之十九|| 惠普15英特尔赛扬N4020 8 GB内存1 TB硬盘Windows 10 +鼠标|23.5万英镑|19.9万英镑|百分之十五|| 华硕E203 NAH英特尔赛扬4GB内存128 GB EMMC 11.6英寸Win 10星星灰|119,990英镑|99,990英镑|百分之十七|| 联想AMD RYZEN 3 1 TB硬盘8 GB内存2.6至3.4ghz Win 10+ 32 GB闪存|25万日元|218,500英镑|占百分之十三|
1条答案
按热度按时间rur96b6h1#
要获得名称,价格,该页面上的产品折扣,你可以尝试:
印刷品:
| 名称名称名称|价格1|价格2|折扣|
| - -|- -|- -|- -|
| Speedisk 3.0笔式闪存驱动器64 GB-金属与微型USB OTG| 1万日元|2,699英镑|百分之七十三|
| 联想V15-IGL英特尔赛扬1 TB硬盘4GB内存Win 10| 160,990英镑|130,990英镑|百分之十九|
| 惠普15英特尔赛扬N4020 8 GB内存1 TB硬盘Windows 10 +鼠标|23.5万英镑|19.9万英镑|百分之十五|
| 华硕E203 NAH英特尔赛扬4GB内存128 GB EMMC 11.6英寸Win 10星星灰|119,990英镑|99,990英镑|百分之十七|
| 联想AMD RYZEN 3 1 TB硬盘8 GB内存2.6至3.4ghz Win 10+ 32 GB闪存|25万日元|218,500英镑|占百分之十三|