问题标签 [html5lib]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
html - html5lib 飞镖。通过类选择器查询抛出异常
我正在尝试通过 selector 获取带有类 nav 的元素.nav
。结果库抛出异常:
仅实现类型选择器。
代码示例:
控制台输出:
怎么了?
python - 将 html5lib 与 xml.etree.ElementTree 一起使用
我需要的是一种使用 html5lib 解析器生成真正的 xml.etree.ElementTree 的方法。(出于可移植性的原因,lxml 不是一个选项。)
ELementTree.parse
可以将解析器作为可选参数
但尚不清楚这样的解析器会是什么样子。HTML5 中是否有可以用于parser
参数的类或对象?关于这个问题的两个库的文档都很薄。
上下文:
我有一个无法解析的格式错误的 XHTML 文件ElementTree.parse
:
所以我html5lib.parse
改用默认treebuilder="etree"
参数,效果很好。
但是 html5lib 显然不输出一个xml.etree.ElementTree
对象,只是一个具有几乎相同的 API 的对象。这有两个问题:
- html5lib
find
不支持该namespaces
参数,使得 XPath 过于冗长而没有笨拙的包装函数。 - Eclipse 调试器不支持对 html5lib etree 进行钻取。
所以我不能单独使用 ElementTree 或 html5lib。
python - BeautifulSoup - how should I obtain the body contents
I'm parsing HTML
with BeautifulSoup. At the end, I would like to obtain the body
contents, but without the body
tags. But BeautifulSoup adds html
, head
, and body
tags. I this googlegrops discussion one possible solution is proposed:
This solution is a hack. There should be a better and obvious way to do it.
python - Jython 2.5.1:UnicodeDecodeError
最近我一直在尝试使用 QF-Test 3.5.4 中的 Jython 脚本解析 HTML 文件中的数据(请注意,根据版本 3.5.1 的发行说明,支持的 Python 版本仅为 2.5.1。- http://www. qfs.de/en/qftest/relnotes.html#3.5.1)。
Python 库(旧的,因为我需要对 Python 2.x 的支持):
- html5lib 0.95
- 美丽汤 3.2.1
我正在运行 Xubuntu 13.10。
Jython 脚本如下所示:
现在,当我尝试使用我需要正确设置的所有变量执行脚本时,我得到了这个:
我成功地将问题追溯到“inputstream.py”的导入,这是发生错误的点。
我真的用这个把头发拉了出来。如果可以的话,请帮我解决这个问题。
编辑:
通过修改 inputstream.py 修复:
python - BeautifulSoup - lxml 和 html5lib 解析器抓取差异
我正在使用BeautifulSoup 4和Python 2.7。我想从网站中提取某些元素(数量,请参见下面的示例)。出于某种原因,lxml解析器不允许我从页面中提取所有所需的元素。它只会打印前三个元素。我正在尝试使用html5lib解析器来查看是否可以提取所有这些。
该页面包含多个项目,以及它们的价格和数量。包含每个项目所需信息的代码部分如下所示:
让我们考虑以下三种情况:
案例 1 - 数据:
印刷:
案例 2 - LXML:
印刷:
案例 3 - HTML5LIB:
我收到以下错误:
为了使用 html5lib 解析器提取我想要的信息,我必须如何调整我的代码?如果我在使用 html5lib 后简单地在控制台中打印汤,我可以看到所有需要的信息,所以我认为它可以让我得到我想要的。lxml 解析器并非如此,所以我也很好奇如果我使用 lxml 解析器似乎没有使用 lxml 解析器提取所有数量:
python - 用 BeautifulSoup 抓取不同的元素:避免在嵌套元素中重复
我想使用 BeautifulSoup4 从 lokal 保存的网站(python 文档)中获取不同的内容(类),所以我使用此代码来执行此操作(index.html 是这个保存的网站:https ://docs.python.org/3 /图书馆/stdtypes.html )
文件处理程序仅用于结果输出,对问题本身没有影响。
我的问题是结果是嵌套的。例如,方法“__eq__ (exporter) 将在 1. 类内部和 2. 作为独立的方法中找到。
所以我想删除其他结果中的所有结果,以使每个结果都在同一层次上。我怎样才能做到这一点?或者甚至可以在第一步中“忽略”该内容?我希望你明白我的意思。
python - BeautifulSoup:从叶到根搜索首先获得“最深”的元素?
对于与此类似的研究项目,我想从python 文档中提取所有“文档单元”。 python 文档中的文档单元可以是(作为 html-meta 标记):
- 方法(dl 类:方法)
- 一个类 (dl类:类)
- 一个部分(div 类:部分)
并且这些应该是嵌套的:一个部分包含几个类es,其中包含几个方法s。但实际上这是非常不规则的。
示例1:如果一个部分包含多个类和方法:我想单独获取每个方法,每个类没有方法(我已经得到)和没有类的部分(我已经有)并且没有方法(我也已经有了),但其余的(因为那里有很多额外的东西)
Example2:如果一个方法或一个类没有出现它们的部分,我也想要它们,并且不能忘记它们。
注意:这并不容易,但我想将它们全部放在一个列表中,该列表与原始文档中的顺序相同。
我用 BeautifulSoup 进行了尝试,但我想为此我需要搜索“从叶到根”以首先获得最深的元素——BeautifulSoup4 不支持(AFAIK)。
首先,我认为问题是避免重复,但实际上这不是主要问题。
我很欣赏你的提示。
python - 绕过 html5lib / 漂白中的特定 HTML 清理
我正在使用bleach
,它用于html5lib
清理用户生成的内容,这些内容是设计为dust.js
模板的 HTML 片段
一切都很好,除了这种情况-
输入:
输出:
循环标签在表格之外排序。这很有意义 - html5lib 正在纠正我的 html;内容不应包含在表结构中,除非它包含在 td/th 标记中。我通常希望发生这样的更正,并且仍然希望发生更正——但我想知道是否有办法以某种方式让这些标签通过。
过去有没有人遇到过类似的情况,并且能够抑制这种清理行为?
到目前为止,我想出的唯一方法是将控件包装在可以正则表达式输出的标记中:
这种方法的问题在于,一旦我正则表达式出这种格式化黑客,我就不能轻易地将它重新构建。编码的模板变得不可编辑。
python - Python Google App Engine:防止html xss的最佳方法?
仅删除所有 HTML 标签的解决方案不适用于我的应用程序。
到目前为止,我已经找到了两种在 Python 中清理 HTML 的解决方案:
- 漂白剂(使用 html5lib)。它在开发服务器上运行良好,但我无法让它在生产中运行。当我尝试导入 html5lib 时,出现“ImportError:没有名为 html5lib 的模块”。就好像文件夹不存在一样。可能是GAE的python路径有问题。
- lxml。让它在开发服务器上工作更复杂:必须将两个第三方二进制文件(libxslt 和 libxml2)安装到我的本地 Python,然后 pip install lxml。然后在生产中,一旦我在 app.yaml 中声明了 lxml 库,它就可以正常工作了。
有比 lxml 更好的解决方案吗?
提前致谢
php - Xpath 与 PHP 中的 html5lib
我有这个不起作用的基本代码。如何将 Xpath 与 html5lib php 一起使用?或以任何其他方式使用 HTML5 的 Xpath。
未找到任何元素。使用$xpath->query('.')
工程来获取根元素(通常 xpath 似乎有效)。$dom->getElementsByTagName('h1')
正在工作中。