kaxa46
kaxa46

Reputation: 19

Selenium parsing amazon (Python)

hello i'm trying to parse all star reviews in text (4,1,4,2,etc.)

driver.get('https://www.amazon.com/gp/new-releases/kitchen/ref=zg_bs_tab_t_bsnr')

elements=WebDriverWait(driver,20).until(EC.presence_of_all_elements_located((By.CSS_SELECTOR,".a-icon-alt")))
for i in elements:
    i = i.get_attribute("innerHTML")
    i= i.split(' ')[0]
    list3.append(i)

i want to parse Review Stars and if Review star is not exists instead of it print something.

Upvotes: 1

Views: 81

Answers (1)

Pygirl
Pygirl

Reputation: 13349

Try:

from bs4 import BeautifulSoup as bs
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
import time

driver = webdriver.Chrome(ChromeDriverManager().install())
driver.set_window_size(1024, 600)
driver.maximize_window()
url = "https://www.amazon.com/gp/new-releases/kitchen/ref=zg_bs_tab_t_bsnr"

driver.get(url)
time.sleep(2)

soup=bs(driver.page_source,'html.parser')

for card in soup.findAll('span', {'class': 'aok-inline-block zg-item'}):
    elem = card.find('span', {'class': 'a-icon-alt'})
    if elem:
        print(elem.text.split()[0])
    else: print("no")

Upvotes: 1

Related Questions