[英]How to extract this text from this Website Scraping? BeatifulSoup
I'm trying to extract the string "No disponble" of this product, but im getting "none" or attribute text dont exists:我正在尝试提取此产品的字符串“No disponble”,但我得到“none”或属性文本不存在:
https://es.louisvuitton.com/esp-es/productos/neceser-26-monogram-canvas-000767#M47542 https://es.louisvuitton.com/esp-es/productos/neceser-26-monogram-canvas-000767#M47542
disponibilidad = soup.find("span", {"class":"lv-stock-indicator lv-product-stock-indicator lv-
product__stock list-label-m -not-available"}).text
But im getting this error:但我得到这个错误:
AttributeError: 'NoneType' object has no attribute 'text'
As mentioned in the comments content is dynamically generated but you can go with selenium.如评论中所述,内容是动态生成的,但您可以使用 go 和 selenium。
Example例子
from selenium import webdriver
from bs4 import BeautifulSoup
from time import sleep
driver = webdriver.Chrome(executable_path='C:\Program Files\ChromeDriver\chromedriver.exe')
url = 'https://es.louisvuitton.com/esp-es/productos/neceser-26-monogram-canvas-000767#M47542'
driver.get(url)
sleep(2)
soup = BeautifulSoup(driver.page_source, "lxml")
print(soup.select_one('div.lv-product__price-stock > span')).get_text()
driver.close()
Output Output
No disponible
不负责任
If you just interessted if product is available you can also requests
the api with the sku
of the product (hint and homework - last part of your url:)如果您只是对产品是否可用感兴趣,您还可以
requests
带有产品sku
的 api(提示和作业 - url 的最后一部分:)
Example例子
import requests, json
from time import sleep
headers = {"user-agent": "Mozilla/5.0"}
skuList = ['M47542', 'M45587', '1A8EMO']
availabilities = {}
for id in idList:
r=requests.get('https://api.louisvuitton.com/api/esp-es/catalog/availability/{0}'.format(id),headers=headers)
availabilities[id] = (r.json()['skuAvailability'])
print(r.json()['skuAvailability'])
sleep(4)
Output availabilities Output 可用性
{'000767': [{'skuId': 'M47542',
'exists': True,
'backOrder': False,
'inStock': False}],
'nvprod2540049v': [{'skuId': 'M45587',
'exists': True,
'backOrder': False,
'inStock': False},
{'skuId': 'M45586', 'exists': True, 'backOrder': False, 'inStock': False}],
'nvprod2470212v': [{'skuId': '1A8EMO',
'exists': True,
'backOrder': False,
'inStock': False},
{'skuId': '1A8EMQ', 'exists': True, 'backOrder': False, 'inStock': False},
{'skuId': '1A8EMS', 'exists': True, 'backOrder': False, 'inStock': False},
{'skuId': '1A8EMU', 'exists': True, 'backOrder': False, 'inStock': False},
{'skuId': '1A8EMW', 'exists': True, 'backOrder': False, 'inStock': False},
{'skuId': '1A8EMY', 'exists': True, 'backOrder': False, 'inStock': False},
{'skuId': '1A8EN0', 'exists': True, 'backOrder': False, 'inStock': False},
{'skuId': '1A8EM9', 'exists': True, 'backOrder': False, 'inStock': False},
{'skuId': '1A8EMB', 'exists': True, 'backOrder': False, 'inStock': True},
{'skuId': '1A8EMD', 'exists': True, 'backOrder': False, 'inStock': False},
{'skuId': '1A8EMF', 'exists': True, 'backOrder': False, 'inStock': True},
{'skuId': '1A8EMH', 'exists': True, 'backOrder': False, 'inStock': False},
{'skuId': '1A8EMJ', 'exists': True, 'backOrder': False, 'inStock': False},
{'skuId': '1A8EML', 'exists': True, 'backOrder': False, 'inStock': False}]}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.