使用 selenium 时无法从 link 获取所有数据
Can not get all the data from the link while using selenium
我不熟悉 selenium 和抓取数据,并试图从下面这个网站的 class name = rd-review 获取所有数据,但是代码 returns none .
有什么解决办法吗?
from bs4 import BeautifulSoup
from selenium import webdriver
import pandas as pd
op = webdriver.ChromeOptions()
op.add_argument('--ignore-certificate-errors')
op.add_argument('--incognito')
op.add_argument('--headless')
driver = webdriver.Chrome(executable_path='C:/Users/MS CM/chromedriver.exe',options=op)
driver.get('https://www.real.de/product/325971045/?id_unit=382673369576')
elem = driver.find_elements_by_class_name('rd-review__stars')
for e in elem:
print(e)
这是我要爬取的数据的图片:
您不需要 selenium
来获取评论数据。一切尽在 API.
import requests
reviews = "https://www.real.de/pdp-test/api/v1/325971045/product-reviews/?offset=0&limit=500"
data = requests.get(reviews).json()
print(f"Total reviews: {data['totalReviews']} | Average rating {data['averageRating']}")
for review in data['reviews']:
print(f"{review['title']} - {review['rating']}")
输出:
Total reviews: 284 | Average rating 4.3
Sehr schlecht - 1
Hervorragende Qualität - 5
Preis und Qualität überzeugen - 5
Angeblich hochwertige Qualität - 2
Schlafkomfort bestens - 5
Hält was es verspricht - 5
Bin begeistert - 5
Süße Träume - 5
Klasse! - 5
Nach 2 Minaten komplett durchgelegen - 1
Sehr schlechte Matratze - 1
Top Produkt - 5
Ausgezeichnet!!!!!! - 5
and so on...
我不熟悉 selenium 和抓取数据,并试图从下面这个网站的 class name = rd-review 获取所有数据,但是代码 returns none .
有什么解决办法吗?
from bs4 import BeautifulSoup
from selenium import webdriver
import pandas as pd
op = webdriver.ChromeOptions()
op.add_argument('--ignore-certificate-errors')
op.add_argument('--incognito')
op.add_argument('--headless')
driver = webdriver.Chrome(executable_path='C:/Users/MS CM/chromedriver.exe',options=op)
driver.get('https://www.real.de/product/325971045/?id_unit=382673369576')
elem = driver.find_elements_by_class_name('rd-review__stars')
for e in elem:
print(e)
这是我要爬取的数据的图片:
您不需要 selenium
来获取评论数据。一切尽在 API.
import requests
reviews = "https://www.real.de/pdp-test/api/v1/325971045/product-reviews/?offset=0&limit=500"
data = requests.get(reviews).json()
print(f"Total reviews: {data['totalReviews']} | Average rating {data['averageRating']}")
for review in data['reviews']:
print(f"{review['title']} - {review['rating']}")
输出:
Total reviews: 284 | Average rating 4.3
Sehr schlecht - 1
Hervorragende Qualität - 5
Preis und Qualität überzeugen - 5
Angeblich hochwertige Qualität - 2
Schlafkomfort bestens - 5
Hält was es verspricht - 5
Bin begeistert - 5
Süße Träume - 5
Klasse! - 5
Nach 2 Minaten komplett durchgelegen - 1
Sehr schlechte Matratze - 1
Top Produkt - 5
Ausgezeichnet!!!!!! - 5
and so on...