我目前正在使用 Python 和 Beautiful Soup 学习网页抓取。我得到了一个任务,其中网页在 css 伪元素中具有星级

<span class="bb_rating bble_50">
  ::before
  ::after
</span>

bble_50::after {
  content: "\e00b\e00b\e00b\e00b\e00b";
}
python - 使用 BeautifulSoup4 从 CSS3 伪元素获取内容-LMLPHP
我想知道如何从 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/

10-12 17:05