我目前正在使用Python和Beautiful Soup学习网页报废。我被赋予了一个任务,其中网页在css伪元素中具有星级评级
<span class="bb_rating bble_50">
::before
::after
</span>
bble_50::after {
content: "\e00b\e00b\e00b\e00b\e00b";
}
我想知道如何从css psuedo元素中获取内容? 需要帮忙。感谢
答案 0 :(得分:1)
我认为你不应该在这里解析CSS。只需将类名映射到评级:
class_to_rating = {
"bble_45": 4.5,
"bble_50": 5
}
elm = soup.select_one(".bb_rating")
rating_class = next(value for value in elm["class"] if value.startswith("bble_"))
print(class_to_rating.get(rating_class, "Unknown rating"))