Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用selenium时无法从链接获取所有数据_Python_Selenium_Beautifulsoup_Web Crawler - Fatal编程技术网

Python 使用selenium时无法从链接获取所有数据

Python 使用selenium时无法从链接获取所有数据,python,selenium,beautifulsoup,web-crawler,Python,Selenium,Beautifulsoup,Web Crawler,我不熟悉selenium和scraping数据,并尝试从下面网站中的class name=rd review获取所有数据,但是代码没有返回任何数据 有什么解决办法吗 from bs4 import BeautifulSoup from selenium import webdriver import pandas as pd op = webdriver.ChromeOptions() op.add_argument('--ignore-certificate-errors') op.add_

我不熟悉selenium和scraping数据,并尝试从下面网站中的class name=rd review获取所有数据,但是代码没有返回任何数据

有什么解决办法吗

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
来获取审核数据。这些都是通过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...

你到底想刮什么?
svg
类中没有文本。不要发布代码的屏幕截图。在你的问题中以文本的形式通过代码。你到底想刮什么?
svg
类中没有文本。不要发布代码的屏幕截图。在你的问题中以文本形式通过代码。非常感谢。我可以问你我是如何得到这样的评论链接的吗?如果我不仅想抓取评论,还想抓取产品描述和其他数据,有可能吗?查看您最喜欢的浏览器的开发人员工具。然后转到网络并选择XHR选项卡。我遵循了您编写的内容,但XHR选项卡中没有任何内容。很抱歉我是一个新手:(.打开一个新的私有窗口。然后,打开开发者工具,选择网络和XHR。最后,粘贴链接并观察网络流量。哦,谢谢。我现在找到了链接。但是,我可以使用上面的链接抓取任意多的时间吗?因为在过去,我曾经被网站屏蔽过ip?(不是本网站,而是另一个网站)非常感谢。我可以问你如何获得这样的评论链接吗?如果我不仅要抓取评论,还要抓取产品描述和其他数据,是否可能?查看您最喜欢的浏览器的开发工具。然后转到网络并选择XHR选项卡。我按照您编写的内容进行操作,但XHR选项卡中没有任何内容。对不起,我是一名新手e:(.打开一个新的私有窗口。然后,打开开发者工具,选择网络,然后选择XHR。最后,粘贴链接并观察网络流量。哦,谢谢。我现在找到了链接。但是,我可以使用上面的链接抓取任意多的时间吗?因为在过去,我曾经被该网站阻止过ip?(不是这个网站,而是另一个网站)