我希望通过此链接为每个用户评分:
data-iconr =“ù”产生的评分为4.0或其他
你可以看看div标签
<div class="left bold zdhl2 tooltip icon-font-level-7" data-iconr="ù">Rated</div>
有什么方法可以获取每个用户的评分?
另外,如何获取div标签的xpath,因为它会更改每个div的类?
它可能不是防弹的,但是您可以依靠元素的类名称,它随等级而变化-例如,5.0
对于icon-font-level-9
类,对于4.5
-icon-font-level-8
等等。
执行:
import re
from selenium import webdriver
driver = webdriver.Firefox()
driver.get("https://www.zomato.com/ncr/salad-days-dlf-cyber-city-gurgaon")
mapping = {
"icon-font-level-9": 5.0,
"icon-font-level-8": 4.5,
"icon-font-level-6": 3.5
# ... TODO
}
pattern = re.compile(r"icon-font-level-\d+")
for review in driver.find_elements_by_css_selector("div[itemprop=review]"):
author = review.find_element_by_css_selector("div[itemprop=author] div[itemprop=name] a").text
rating_class = review.find_element_by_xpath(".//div[. = 'Rated']").get_attribute('class')
rating = mapping.get(pattern.search(rating_class).group(0))
print author, rating
印刷:
Vandhna Babu 4.5
Mohit Yadav 3.5
Pulkit1283 4.5
Grub Society 5.0
Joel George 5.0
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句