gpt4 book ai didi

python - 网页抓取 - 标签中的文本无法实现

转载 作者:行者123 更新时间:2023-12-04 09:33:57 25 4
gpt4 key购买 nike

我一直在努力此页面 ( https://www.lojasrenner.com.br/lista/promocoes/-/N-1hwylc0Z1l95pyv/p1?s_icid=20191226_HOME_MENU_PROMO_SALDOS_DESK ) 使用 selenium 和 Chrome 驱动程序,包含所有折扣产品。爬虫检测除折扣(存在于标志折扣中,或在产品信息中作为旧价格 - 我是否可以用两个价格计算折扣)之外的所有产品信息(包括折扣价)[检查折扣标志] [1] [检查行权价][2]。
不知何故,它随机给了我一些折扣,但我无法始终如一地获得页面的所有折扣(应该有 48 个)。我使用了显式和隐式等待(等待 2 分钟,预期条件为元素包含文本)。我不知道是什么问题。这是我的代码。任何想法发生了什么?
[1]:/image/hLqCK.png
[2]:/image/noV76.png

import ast
from selenium import webdriver
from bs4 import BeautifulSoup
quotes = []
driver = webdriver.Chrome(PATH)
URL = 'https://www.lojasrenner.com.br/lista/promocoes/-/N-1hwylc0Z1l95pyv/p1?s_icid=20191226_HOME_MENU_PROMO_SALDOS_DESK'
driver.get(URL)
delay = 120 # secs
#time.sleep(delay)
html = driver.page_source.encode('utf-8')
soup = BeautifulSoup(html)
driver.quit()
content = soup.findAll("div", {"class": re.compile(r"item_product animation-element bounce-up cf")})
if content == []:
break
for row in content:
b = row.get("data-product-gtm")
dic = ast.literal_eval(b)
del dic['list'] ; del dic['position']
c = row.find("span", {"class": "flag_discount"})
if c != None:
dic['discount'] = c.text
else:
dic['discount'] = ''
quotes.append(dic)



最佳答案

产品的数据是动态加载的。您可以使用他们的 API 来获取有关价格、折扣、图片等的信息。
例如:

import json
import requests
from bs4 import BeautifulSoup


url = "https://www.lojasrenner.com.br/lista/promocoes/-/N-1hwylc0Z1l95pyv/p1?s_icid=20191226_HOME_MENU_PROMO_SALDOS_DESK"
u = 'https://www.lojasrenner.com.br/rest/model/lrsa/api/CatalogActor/productBoxDataDesk'
params = {
'pushSite': "rennerBrasilDesktop",
'productId': "548885748",
'skuId': "550553478",
'skuList': "550553460,550553478",
'skuGift': "",
'stampIds': "",
'groupOneId': "color",
'findCategories': "false"
}
soup = BeautifulSoup(requests.get(url).content, 'html.parser')

for p in soup.select('[data-product]'):
data = json.loads(p['data-product'])
params['productId'] = data['productId']
params['skuId'] = data['skuId']
params['skuList'] = ','.join(data['skuList'])
product_data = requests.get(u, params=params).json()

#uncomment this to print all data:
# print(json.dumps(product_data, indent=4))

print('{:<50}{:<10}{:<10}{:<10}'.format(product_data['displayName'], product_data['listPriceFormatted'], product_data['salePrice'], product_data['percentDiscount']))
打印:
Blusa Lisa Gola V em Linho                        R$ 79,90  59.9      25        
Macacão Liso em Crepe com Cinto R$ 159,90 99.9 37
Blusa Lisa em Fake Suede R$ 79,90 59.9 25
Camisa Manga Longa Lisa com Decote V R$ 99,90 59.9 40
Blusa Lisa em Fake Suede R$ 79,90 59.9 25
Camisa Estampada com Botões e Amarração R$ 99,90 59.9 40
Lenço Leve Estampa Animal Print R$ 69,90 49.9 28
Blusa Bata Estampa Poá R$ 79,90 59.9 25
Calça Legging Lisa com Detalhe de Material Sintético nos BolsosR$ 139,90 79.9 42
Blusa Manga Curta Bufante Lisa R$ 99,90 59.9 40
Macacão Estampado Folhagens R$ 139,90 99.9 28
Short Estampado com Coqueiros em Sarja R$ 89,90 39.9 55
Blusa Lisa Gola V em Linho R$ 79,90 59.9 25
Blusa Estampada Flor R$ 69,90 39.9 42
Blusa com Estampa Hakuna Matata R$ 39,90 29.9 25
Blusa Sem Manga Lisa Gola Altinha R$ 69,90 39.9 42
Calça Legging Xadrez com Bolso Traseiro R$ 99,90 59.9 40
Blusa Lisa em Fake Suede R$ 79,90 59.9 25
Vestido Liso em Fake Suede R$ 119,90 79.9 33
Blusa Manga Longa Gola Alta em Tule R$ 49,90 39.9 20
Blusa Manga Curta Estampa Folhagem com Detalhe R$ 69,90 39.9 42
Blusa Estampada com Folhagens Manga Longa R$ 79,90 59.9 25
Lenço Leve Estampa Cobras e Bloco de Cor R$ 69,90 49.9 28
Vestido em Jersey Listrado com Abertura no Ombro R$ 139,90 59.9 57
Blusa Manga Longa Estampa Folhagem com Botões R$ 99,90 59.9 40
Regata Estampada com Corda R$ 59,90 39.9 33
Blusa Lisa Gola V em Linho R$ 79,90 59.9 25
Saia com Estampa Folhagens em Sarja R$ 139,90 59.9 57
Regata Floral com Amarração R$ 99,90 59.9 40
Blusa Manga Longa Listrada Transpassada R$ 79,90 59.9 25
Saia Midi Floral com Babados R$ 159,90 99.9 37
Vestido Midi Manga Curta Decote V Estampa Folhagem com Cinto CordaR$ 139,90 79.9 42
Macacão Liso Midi Manga Longa com Puxadinho R$ 119,90 79.9 33
Blusa Animal Print R$ 89,90 59.9 33
Blusa com Detlhe no Ombro em Crepe R$ 79,90 39.9 50
Saia Longa Estampada com Babados R$ 159,90 99.9 37
Vestido Liso em Fake Suede R$ 119,90 79.9 33
Calça Listrada com Amarração R$ 139,90 99.9 28
Blusa Estampada com Coqueiros R$ 79,90 59.9 25
Blusa Lisa com Aplicação nas Mangas R$ 89,90 39.9 55
Blusa Lisa com Zíper nas Costas R$ 89,90 39.9 55
Blusa com Bordado Babados R$ 89,90 59.9 33
Calça Legging Pied de Poule R$ 99,90 59.9 40
Calça Legging Esportiva com Recorte R$ 89,90 79.9 11
Saia Midi Floral com Fivela R$ 159,90 99.9 37
Cardigan Básico Alongado com Bolsos R$ 89,90 59.9 33
Vestido Básico em Ribana Listrado R$ 59,90 39.9 33
Blusa Lisa em Tule Curve & Plus Size R$ 99,90 79.9 20

关于python - 网页抓取 - 标签中的文本无法实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62684210/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com