首页 > 解决方案 > 使用 Python/Selenium 抓取文本并将 CSS 格式转换为 Markdown

问题描述

我在 Python 中使用 Selenium 从网站上抓取文本。我通过 ID 获取包含每段文本的元素,将其存储在一个名为 的变量中block,然后可以通过block.text.

问题是,我需要保留格式(例如,粗体、斜体等)。我的计划是通过类名(例如,class="bold")查找文本的这些部分,并使用适当的 Markdown 语法(例如,some bold text将成为**some bold text**)修改元素的文本。然后我可以将其存储在数据库中,稍后将 Markdown 转换回 HTML 或 CSS。

问题是我不能简单地更改每个格式化元素的文本。如果我尝试做类似的事情element.text = 'x',我会得到AttributeError: can't set attribute。这是一个问题,因为我想遍历格式化元素,添加 Markdown,然后将其反映在block.text包含所有这些格式化元素的总体中。然后我可以将该文本存储在数据库中。

因此,虽然我可以很容易地获得较大文本中所有单词和短语的列表,例如粗体,但我看不到对它们执行操作来修改它们所属的较大文本的实用方法。必须有一种合理的方法来做到这一点,但我的研究没有发现任何帮助。

标签: pythonselenium-webdriverformat

解决方案


推荐阅读