我正在尝试使用Selenium
从评论中提取星级评分,html标记如下:
<p class="inlineRating starRating"><span class="current-rating" style="width: 80%">
Current Rating: 4</span></p>
使用selenium
,我做了这个
rating = driver.find_element_by_css_selector('#ctnStars > div.catRatings.firstEl.clearfix > p.inlineRating.starRating > span')
rating = rating.text
我总是得到的输出是:
当前评级:0
我也尝试了xpath
方法,scrapy面临填充页面的困难,我在python
进行编码。请帮助。
答案 0 :(得分:1)
由于存在多个评论,因此driver.find_element_by_css_selector()调用可能会返回与您认为不同的评论。您需要先找到审核人,然后才能获得审核。类似的东西应该工作(如果我得到Python循环正确):
user_posts = driver.find_elements_by_css_selector('div.userPost')
for each user_post in user_posts
effectiveness_rating = user_post.find_element_by_css_selector('#ctnStars > div.catRatings.firstEl.clearfix > p.inlineRating.starRating > span')
答案 1 :(得分:0)
为特定审核人找到有效性的星级评分的xpath将是:
//p[@class='reviewerInfo' and contains(text(),'Reviewer: Sandy')]/following-sibling::div//div[contains(@class,'catRatings firstEl clearfix')]//span[@class='current-rating']/text()
你可以对其他类别做同样的事情......