用 lxml.html 替换元素

2023-12-23

我对 lxml 和 HTML 解析器整体来说还很陌生。 我想知道是否有一种方法可以用另一个元素替换树中的元素......

例如我有:

body = """<code> def function(arg): print arg </code> Blah blah blah <code> int main() { return 0; } </code> """

doc = lxml.html.fromstring(body)
codeblocks = doc.cssselect('code')

for block in codeblocks:
  lexer = guess_lexer(block.text_content())
  hilited = highlight(block.text_content(), lexer, HtmlFormatter())
  doc.replace(block, hilited)

我想做一些类似的事情,但这会导致“TypeError”,因为“hilited”不是 lxml.etree._Element。

这可行吗?

Regards,


关于lxml,

In doc.replace(block, hilited)

block是 lxml 的 Element 对象,hilited是字符串,您无法替换它。

有两种方法可以做到这一点

block.text=hilited 

or

body=body.replace(block.text,hilited)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

用 lxml.html 替换元素 的相关文章

  • Kivy - 文本换行工作错误

    我正在尝试在 Kivy 1 8 0 应用程序中换行文本 当没有太多文字时 一切正常 但如果文本很长并且窗口不是很大 它只是剪切文本 这是示例代码 vbox BoxLayout orientation vertical size hint y
  • for 循环如何评估其参数

    我的问题很简单 Does a for循环评估它每次使用的参数 Such as for i in range 300 python 是否会为此循环的每次迭代创建一个包含 300 个项目的列表 如果是的话 这是避免这种情况的方法吗 lst ra
  • 希伯来语中的稀疏句子标记化错误

    尝试对希伯来语使用稀疏句子标记 import spacy nlp spacy load he doc nlp text sents list doc sents I get Warning no model found for he Onl
  • 当我在 Pandas 中使用 df.corr 时,我的一些列丢失了

    这是我的代码 import numpy as np import pandas as pd import seaborn as sns import matplotlib pyplot as plt data pd read csv dea
  • 更改 Altair 中的构面标题位置?

    如何将方面标题 在本例中为年份 移动到每个图的上方 默认值似乎位于图表的一侧 这可以轻易改变吗 import altair as alt from vega datasets import data df data seattle weat
  • WindowsError:[错误 126] 使用 ctypes 加载操作系统时

    python代码无法在Windows 7平台上运行 def libSO lib ctypes cdll LoadLibrary ConsoleApplication2 so lib cfoo2 1 3 当我尝试运行它时 得到来自python
  • Python Fabric - 未找到主机。请指定用于连接的(单个)主机字符串:

    如何获取 找不到主机 请指定用于连接的 单个 主机字符串 面料如何解决 def bootstrap host ec2 54 xxx xxx xxx compute 1 amazonaws com env hosts host env use
  • PySide6.1 与 matplotlib 3.4 不兼容

    当我只安装PySide6时 GUI程序运行良好 但是一旦我安装了matplotlib及其依赖包 包括pyqt5 则GUI程序将无法运行并输出以下错误消息 This application failed to start because no
  • Pandas 滚动窗口 Spearman 相关性

    我想使用滚动窗口计算 DataFrame 两列之间的 Spearman 和 或 Pearson 相关性 我努力了df corr df col1 rolling P corr df col2 P为窗口尺寸 但我似乎无法定义该方法 添加meth
  • 如何使用 Django 项目设置 SQLite?

    我已阅读 Django 文档 仅供参考 https docs djangoproject com en 1 3 intro tutorial01 https docs djangoproject com en 1 3 intro tutor
  • 与 while 循环一样,如何跳过 for 循环中的步骤?

    我尝试像 while 循环一样跳过 for 循环中的几个步骤 在 while 循环中 步骤根据特定条件进行调整 如下面的代码所示 i 0 while i lt 10 if i 3 i 5 else print i i i 1 result
  • 在Python中计算内存碎片

    我有一个长时间运行的进程 不断分配和释放对象 尽管正在释放对象 但 RSS 内存使用量会随着时间的推移而增加 如何计算发生了多少碎片 一种可能性是计算 RSS sum of allocations 并将其作为指标 即便如此 我该如何计算分母
  • 具有屏蔽无效值的 pcolormesh

    我试图将一维数组绘制为 pcolormesh 因此颜色沿 x 轴变化 但每个 x 的 y 轴保持不变 但我的数据有一些错误值 因此我使用屏蔽数组和自定义颜色图 其中屏蔽值设置为蓝色 import numpy as np import mat
  • PyTorch DataLoader 对并行运行的批次使用相同的随机种子

    有一个bug https tanelp github io posts a bug that plagues thousands of open source ml projects 在 PyTorch Numpy 中 当并行加载批次时Da
  • Python 类型安全吗?

    根据维基百科 https en wikipedia org wiki Type system Type safety and memory safety 如果一种语言不允许违反类型系统规则的操作或转换 计算机科学家就认为该语言是 类型安全的
  • Python 声音(“铃声”)

    我想让一个 python 程序在完成任务时通过发出嘟嘟声来提醒我 目前 我使用import os然后使用命令行语音程序说 进程完成 我更愿意它是一个简单的 铃 我知道有一个函数可以用于Cocoa apps NSBeep 但我认为这与此没有太
  • 如何使用 matplotlib 为圆柱体的每个单独面添加颜色

    我正在尝试为圆柱体的每个面着色 但是我不确定如何进行 我尝试了以下方法 for i in range 10 col append for i in range 10 for j in range 20 col i append plt cm
  • 如何在 robobrowser-python 中发出 POST 请求

    http robobrowser readthedocs org en latest api html http robobrowser readthedocs org en latest api html 我正在尝试使用 APIbrows
  • python sklearn中的fit方法

    我问自己关于 sklearn 中拟合方法的各种问题 问题1 当我这样做时 from sklearn decomposition import TruncatedSVD model TruncatedSVD svd 1 model fit X
  • 使用 urllib 编码时保持 url 参数有序

    我正在尝试用 python 模拟 get 请求 我有一个参数字典 并使用 urllib urlencode 对它们进行 urlencode 我注意到虽然字典的形式是 k1 v1 k2 v2 k3 v3 urlencoding 后参数的顺序切

随机推荐

  • 如何使用 VB6 或 BAT/CMD 列出连接到我的 WiFi 网络的设备?

    我正在制作一个程序来列出连接到我的 Wi Fi 网络的所有设备 以便我可以查看是否有其他人已连接 我找到了 CMD 的代码 net view但它仅列出连接到我的 Wi Fi 的计算机 而不列出移动设备 是否有其他命令可以使用 CMD 列出连
  • JavaScript 倒计时,添加小时和分钟

    所以 我有以下 秒倒计时 井然有序 但 我也尝试在倒计时中添加小时和分钟 理想情况下保持相同的结构 并且只使用纯 JS 我希望输出是 本次促销活动还剩 X 小时 X 分钟 X 秒 var count 30 var counter setIn
  • 作业提交后出现 ClassNotFoundException

    我正在尝试Spring数据 Hadoop http www springsource org spring data hadoop用于从本地计算机的 IDE 在远程集群上执行 MR 代码 Hadoop 1 1 2 Spring 3 2 4
  • 在mssql 2005中保存日期时间,不带小时,分钟和秒

    我想将 sql 2005 中的日期保存为日期 没有小时 分钟和秒 我想这样做是因为如果填写了小时 分钟和秒 则 Between 函数并不总是正确的 但 datetime 和 Smalldatetime 都不允许这样做 在 2008 年 您可
  • 在 PostgreSQL 中如何连接两个表选择单独的信息

    连接时遇到问题 我有一张桌子叫subjects subno subname 30006 Math 31445 Science 31567 Business 我还有一张名为enrollment subno sno 30009 980008 4
  • 创建固定大小的 std::vector 并写入元素

    在 C 中 我希望分配一个固定大小 但大小在运行时确定 的 std vector 然后写入该向量中的元素 这是我正在使用的代码 int b 30 const std vector
  • 使用空列创建唯一约束

    我有一张具有以下布局的桌子 CREATE TABLE Favorites FavoriteId uuid NOT NULL PRIMARY KEY UserId uuid NOT NULL RecipeId uuid NOT NULL Me
  • 所有接口上的 UDP 广播

    在具有有线和无线接口 例如 192 168 1 x 和 192 168 2 x 子网 的 Linux 系统上 我想发送通过所有可用接口 即通过有线和无线接口 发出的 UDP 广播 目前我 sendto 到 INADDR BROADCAST
  • 尝试添加资源类时出现冲突的 URI 模板错误

    我有一个使用 Jersey 和 Tomcat7 的宁静实现 我在 Campher rest 包中定义了 3 个名为 RegionService ClientService 和 NoteService 的资源 当我尝试添加另一个名为 Test
  • Android:无法调用没有参数的私有 android.net.Uri()

    我正在使用 Gson 将自定义模型的数组列表保存到共享首选项中 存储代码 ArrayList
  • 如何在 Tensorflow 中累积和应用异步 n 步 DQNetwork 更新的梯度?

    我正在尝试实施深度强化学习的异步方法 https arxiv org pdf 1602 01783 pdf其中一个步骤需要在不同步骤上累积梯度 然后应用它 在张量流中实现这一目标的最佳方法是什么 我到目前为止已经积累了梯度 但我认为这不是实
  • 将 HttpRequestMessage 转换为 HttpRequest

    我正在将 ASP NET Web 应用程序转换为 MVC Web Api 项目 我的方法之一期望HttpRequest班级 然而 Web Api 控制器只保存HttpRequestMessage this Request 目的 你知道我如何
  • 在 Razor MVC 中使用 HTML 内容解码字符串

    我有一个来自数据库的字符串 你好 现在我希望我的剃刀视图显示为 Hello 如何在 Razor 中进行解码 Use HtmlHelper Raw https msdn microsoft com en us library gg568896
  • 如何在解析中使用多个条目格式化输出

    我最近问了一个问题 tadman 的回答非常好如何修改代码以从外部获取查询并将结果保存到外部 https stackoverflow com questions 38940863 how to amend a code to get que
  • 如何将环境变量传递给 Docker 容器?

    如何从容器访问外部数据库 在连接字符串中进行硬编码的最佳方法是 Dockerfile ENV DATABASE URL amazon rds connection string 您可以使用以下命令将环境变量传递给容器 e flag dock
  • 使用 AutoMapper 将元数据传输到视图模型的技术

    我使用 AutoMapper 将域对象映射到视图模型 我的域层中有元数据 我想将其转移到视图层和 ModelMetadata 中 此元数据不是 UI 逻辑 但为我的视图提供了必要的信息 现在 我的解决方案是使用单独的 MetadataPro
  • 如何检查 imageview 是否为空

    我有一个具有表单的应用程序 并且有一些字段需要用户填写 我想禁用 下一步 按钮 直到用户填写这些字段 字段是 iamgeView EditText Spinner 我知道如何检查文本编辑 但如何检查用户是否填充图像和微调器 图像视图将允许用
  • React hooks useEffect 更新 window.innerHeight

    我想在调整屏幕大小时使用内部窗口高度更新状态 当我记录状态高度时useEffect但是 当我登录时 我每次都会得到 0updateWindowDimensions函数高度值按预期更新 如何每次都用新值更新状态 const height se
  • 嵌套元素的 XML 映射属性

    我正在使用 XStream 并且有一个 XML 示例
  • 用 lxml.html 替换元素

    我对 lxml 和 HTML 解析器整体来说还很陌生 我想知道是否有一种方法可以用另一个元素替换树中的元素 例如我有 body code def function arg print arg code Blah blah blah code