Python | Обзор пользователей веб-скрапинга - PullRequest
0 голосов
/ 27 мая 2020

Я делаю первые шаги в поиске веб-страниц, но, вероятно, выбрал «сложную» задачу

Я пытаюсь загрузить оценки пользователей с этого сайта (5 звезд, 4 звезды и т. Д.) https://www.influenster.com/ но вместо этого у меня есть дата проверки.

from selenium import webdriver

browser = webdriver.Chrome("C:/chromedriver_win32/chromedriver.exe")
browser.get("https://www.influenster.com/reviews/ferrero-rocher-chocolate")

rating = browser.find_elements_by_css_selector(".hXWPE.ixyxcj")
rating_text = [t.text for t in rating]
rating_text 

Результат

['April 11th 2020, 9:49 pm',
 'April 16th 2020, 9:30 pm',
 'March 16th 2020, 10:32 am',
 'December 22nd 2019, 2:13 am',
 'March 31st 2020, 2:02 am',
 'April 11th 2020, 7:10 pm',
 'April 12th 2020, 2:13 pm',
 'May 15th 2020, 6:00 am',
 'April 13th 2020, 7:39 pm',
 'January 23rd 2020, 4:02 pm']

Вы можете мне помочь? Спасибо

1 Ответ

1 голос
/ 27 мая 2020

Даты также удовлетворяют этому селектору css, и, поскольку они находятся перед комментарием, они возвращаются первыми.

Попробуйте следующее:

rating = driver.find_elements_by_class_name("review-text")

Для автора и звездочек ...

ratings = driver.find_elements_by_css_selector(".ixyxcj>.fNRjgH")
for rating in ratings:
    author = rating.find_element_by_css_selector('.author-card .name').text
    stars = rating.find_elements_by_css_selector('.ixyxcj .productComponents__SingleStar-sc-1ffpes9-3.kdXCBs')
    print('The author: ' + author + ' gave ' + str(len(stars)) + ' stars')
...