我目前正在使用 Python 和 Beautiful Soup 学习网页抓取。我得到了一个任务,其中网页在 css 伪元素中具有星级
<span class="bb_rating bble_50">
::before
::after
</span>
bble_50::after {
content: "\e00b\e00b\e00b\e00b\e00b";
}
我想知道如何从 css psuedo 元素中获取内容?
需要帮忙。谢谢
最佳答案
我认为您实际上不应该在这里解析 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"))
关于python - 使用 BeautifulSoup4 从 CSS3 伪元素获取内容,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44611200/