Home > Back-end >  Get class name using Scrapy
Get class name using Scrapy

Time:09-11

I am trying to get the products' ratings of a webpage. The rating is in <bl-rating>:

enter image description here

To get the title of the product, I did:

'title':product.css('h2::text').get()

Is there a way to get the rating (4.714...) using a similar technique?

CodePudding user response:

Rating isn't text node value rather attribute value.So You have to invoke ::attr(rating) instead of ::text to get that value as string/text.

'rating':product.css('bl-rating::attr(rating)').get()

Using an xpath expression:

After iterating over an array/list of elements, the subsequent xpath expression would be a relative expression (.//)

'rating':product.xpath('.//bl-rating/@rating').get()

CodePudding user response:

This is more for anyone who might find this answer in the future.

You can also extract the rating value using an xpath expression.

For Example:

'rating': response.xpath('//bl-rating/@rating').get()
  • Related