在scrapy中提取类名

Dan*_*Dan 5 python css-selectors scrapy web-scraping

我试图从 trustpilot.com 上刮掉评级。

是否可以使用scrapy提取类名?我正在尝试刮取由五个单独图像组成的评级,但这些图像位于具有评级名称的类中,例如,如果评级为 2 则开始:

<div class="star-rating count-2 size-medium clearfix">...
Run Code Online (Sandbox Code Playgroud)

如果是 3 星,则:

<div class="star-rating count-3 size-medium clearfix">...
Run Code Online (Sandbox Code Playgroud)

那么有没有一种方法可以抓取类count-2count-3假设一个选择器.css('.star-rating')

Jan*_*Jan 7

您可以在代码中的某处使用两者的组合:

import re

classes = response.css('.star-rating').xpath("@class").extract()
for cls in classes:
    match = re.search(r'\bcount-\d+\b', cls)
    if match:
        print("Class = {}".format(match.group(0))
Run Code Online (Sandbox Code Playgroud)