def parse_rating(self, root): rating_node = root.xpath('//div[@id="metacol"]/div[@id="bookMeta"]/span[@class="value rating"]/span') if rating_node: rating_text = tostring(rating_node[0], method='text', encoding=unicode) rating_text = re.sub('[^0-9]', '', rating_text) rating_value = float(rating_text) if 5 < rating_value < 100: return rating_value / 10 if rating_value >= 100: return rating_value / 100 return rating_value