python - 使用 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
包含所有这些格式化元素的总体中。然后我可以将该文本存储在数据库中。
因此,虽然我可以很容易地获得较大文本中所有单词和短语的列表,例如粗体,但我看不到对它们执行操作来修改它们所属的较大文本的实用方法。必须有一种合理的方法来做到这一点,但我的研究没有发现任何帮助。
解决方案
推荐阅读
- amazon-web-services - 如何使用 Cloudfront 将裸域重定向到 www?
- python - 使用 DictReader 读取 csv 文件可能有哪些优点和缺点?
- ios - 在 UITableViewCell 内显示 youtube 视频缩略图和标题
- batch-file - UAC 提示后恢复批处理文件
- python - 动态sql查询(字符串模板)
- excel - 元素未从数组中获取值
- java - 在不使用中断的情况下正确终止 Java 可调用线程?
- android - 无法运行程序“/data/data/my.app.package/files/my-executable”:错误=13,权限被拒绝
- javascript - 2个具有相同类名的css文件,并且具有该类名的元素具有两种样式
- plotly-dash - 在 Google Chrome 上运行 Plotly Dash 应用程序的问题