使用Selenium发布Web垃圾

2024-06-16 14:59:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我是Python的新手-请提前感谢您的耐心等待

我有一个网站的客户评论,我想拉出来的5星,一个评论员给供应商的数量

在下面的例子中,审阅者给提供者的是5中的1星。我希望能够从下面的列表中提取“1”

<div class="rvw__hdr">   <div class="rvw__hdr-stat" itemtype="http://schema.org/Rating" itemscope="" itemprop="reviewRating">
    <meta itemprop="worstRating" content="1">   <img data-rating="1.0" src="//media.consumeraffairs.com/static/img/icons/stars/stars-1.a9f9f49815b7.svg" alt="Rated with 1 star" class="stars-rtg stars-rtg--sm">   <meta itemprop="ratingValue" content="1">   <meta itemprop="bestRating" content="5">   </div> </div>

我花了好几个小时在这上面。 离我最近的是:

rating = driver.find_elements_by_xpath('//div[@class="rvw__hdr-stat"]')

num_page_items = len(rating)
for i in range(num_page_items):
    print (rating[i].text)

这就返回了空虚 当我省略.text时,我会为页面上的30条评论中的每一条返回对象,其中一条如下:

<selenium.webdriver.firefox.webelement.FirefoxWebElement (session="271fc297-c03f-42b2-a680-2b5dd5656227", element="e1066956-81f4-4203-a2ae-5d3cdd95789a")>

我不知道如何把这个变成我想要的,实际的评分数字由评论员提供

我尝试过驱动程序的其他变体。按查找元素。。。。没有运气

提前谢谢你的帮助


Tags: divimghdr评论contentnummetastat
1条回答
网友
1楼 · 发布于 2024-06-16 14:59:39

要获得总体评级,可以从div tag的属性中获得

overall_rating = driver.find_element_by_css_selector("div.stars-rtg")
print(overall_rating.get_attribute("data-rating"))

要在第一页获得所有消费者评论评分,可以从img标签的属性中获得

ratings = driver.find_elements_by_css_selector("img.stars-rtg")
ratings_value = [rating.get_attribute("data-rating") for rating in ratings]
print(ratings_value)

相关问题 更多 >