问题标签 [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.
python-3.x - 使用 pip 时出错 - 模块 'pip._vendor.html5lib' 没有属性 'parse'
今天尝试使用 pip 安装一些软件包时弹出此错误。Python 版本 - 3.5.4
它给出了以下例外:
即使对于 pip update 命令,也会出现此异常。html5lib
版本是 0.999。以下代码似乎工作正常。
关于为什么会出现此错误的任何指示都会有所帮助。提前致谢。
python - bs4.FeatureNotFound:找不到具有您请求的功能的树生成器:html5lib
运行 python 代码时出现此错误:
所以我在网上搜索并阅读了这个
我检查了我安装的软件包,html5lib 和 6 似乎都是最新版本。
我想知道这里有什么问题?
*上下文:
当我在 jupyter notebook 中运行完全相同的代码时,它运行没有问题。
python - 如何使用 pandas 将 HTML 正确解析为 Unicode 字符串?
我正在运行一个 Python 程序,它获取一个 UTF-8 编码的网页,我使用 pandas(read_html) 从 HTML 表中提取一些文本并将结果写入 csv 文件
但是,当我将此文本写入文件时,其中的所有空格都会以意外编码写入(例如 \xd0\xb9\xd1\x82\xd0\xb8)。为了解决这个问题,我在后面添加了一行 i = i.split(" "),csv 文件中的所有空格都替换为字符,示例如下:
['0', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '1', '', '', '', '', '', '', '', '', '', '', '', '', '', '2', '', '', '3\n0', '', '', '', '', '', '', '', 'number', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 'last name', '', 'number', 'plan', 'NaN\n1', '', '', '', '', '', '', '', '', '', 'NaN', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 'NaN', '', '', 'not', 'NaN\n2', '', '', '', '', '53494580', '', '', '', '', '', '', '', '', '', '+', '(53)494580', '', '', '', '', '', '', '', '', 'NP_551', 'NaN\n3', '', '', '', '', '53494581', '', '', '', '', '', '', '', '', '', '+', '(53)494581', '', '', '', '', '', '', '', '', 'NP_551', 'NaN\n4', '', '', '', '']
我想摆脱字符('',)有没有办法解决这个问题?任何指针将不胜感激。
代码蟒蛇:
python-2.7 - 在 Python 中读取 html 到数据框时出错“找不到 html5lib”
在尝试读取 html 数据框时,我遇到了以下关于 html5lib 的错误。
这是代码:
这是错误:
任何帮助将非常感激。谢谢
python - 如何从 html5lib.sanitizer 导入
我正在尝试HTMLSanitizerMixin
从html5lib.sanitizer
Python 中的模块导入模块。在网上搜索后,我在更新中看到html5lib
他们删除了sanitizer
包,但即使我尝试从新位置导入它,我现在似乎也无法得到它。
python - tensorflow 的 numpy 和 html5lib 不兼容
tensorflow 1.7.0 has requirement numpy>=1.13.3, but you'll have numpy 1.11.0 which is incompatible.
tensorboard 1.7.0 has requirement html5lib==0.9999999, but you'll have html5lib 0.999 which is incompatible.
tensorboard 1.7.0 has requirement numpy>=1.12.0, but you'll have numpy 1.11.0 which is incompatible.
请参考这个截图
为什么这些消息会显示......即使我安装了正确的版本?我已经升级并一遍又一遍地重新安装它们。我还重新安装了 pip 并尝试了简单的 pip 安装。但问题仍然存在。
我的操作系统安装可能有问题吗?(Ubuntu 16.4)
这些是我通过运行得到的一些结果
pip freeze
python - 由 pip 和 anaconda 安装的两个相同的 html5lib 包造成的冲突
我有两个 html5lib。当我尝试更新到 tensorflow 时,它会出错。
这是显示的两个 html5libconda list
html5lib 1.0.1 py36_0
html5lib 0.9999999 <pip>
问题是我无法删除或更新它。
当我使用
pip install html5lib
时,会弹出一个错误
Requirement already satisfied: html5lib in /Users/apple/anaconda3/lib/python3.6/site-packages (1.0.1)
Exception:
Traceback (most recent call last):
File "/Users/apple/anaconda3/lib/python3.6/site-packages/pip/_internal/basecommand.py", line 228, in main
status = self.run(options, args)
File "/Users/apple/anaconda3/lib/python3.6/site-packages/pip/_internal/commands/install.py", line 291, in run
resolver.resolve(requirement_set)
File "/Users/apple/anaconda3/lib/python3.6/site-packages/pip/_internal/resolve.py", line 103, in resolve
self._resolve_one(requirement_set, req)
File "/Users/apple/anaconda3/lib/python3.6/site-packages/pip/_internal/resolve.py", line 262, in _resolve_one
check_dist_requires_python(dist)
File "/Users/apple/anaconda3/lib/python3.6/site-packages/pip/_internal/utils/packaging.py", line 46, in check_dist_requires_python
feed_parser.feed(metadata)
File "/Users/apple/anaconda3/lib/python3.6/email/feedparser.py", line 175, in feed
self._input.push(data)
File "/Users/apple/anaconda3/lib/python3.6/email/feedparser.py", line 103, in push
self._partial.write(data)
TypeError: string argument expected, got 'NoneType'
但是当我使用时
pip uninstall html5lib
,会弹出另一个错误
Exception:
Traceback (most recent call last):
File "/Users/apple/anaconda3/lib/python3.6/site-packages/pip/_internal/basecommand.py", line 228, in main
status = self.run(options, args)
File "/Users/apple/anaconda3/lib/python3.6/site-packages/pip/_internal/commands/uninstall.py", line 68, in run
auto_confirm=options.yes, verbose=self.verbosity > 0,
File "/Users/apple/anaconda3/lib/python3.6/site-packages/pip/_internal/req/req_install.py", line 660, in uninstall
uninstalled_pathset = UninstallPathSet.from_dist(dist)
File "/Users/apple/anaconda3/lib/python3.6/site-packages/pip/_internal/req/req_uninstall.py", line 355, in from_dist
for path in uninstallation_paths(dist):
File "/Users/apple/anaconda3/lib/python3.6/site-packages/pip/_internal/req/req_uninstall.py", line 50, in unique
for item in fn(*args, **kw):
File "/Users/apple/anaconda3/lib/python3.6/site-packages/pip/_internal/req/req_uninstall.py", line 67, in uninstallation_paths
r = csv.reader(FakeFile(dist.get_metadata_lines('RECORD')))
File "/Users/apple/anaconda3/lib/python3.6/site-packages/pip/_vendor/pkg_resources/__init__.py", line 1408, in get_metadata_lines
return yield_lines(self.get_metadata(name))
File "/Users/apple/anaconda3/lib/python3.6/site-packages/pip/_vendor/pkg_resources/__init__.py", line 1404, in get_metadata
value = self._get(self._fn(self.egg_info, name))
File "/Users/apple/anaconda3/lib/python3.6/site-packages/pip/_vendor/pkg_resources/__init__.py", line 1516, in _get
with open(path, 'rb') as stream:
FileNotFoundError: [Errno 2] No such file or directory: '/Users/apple/anaconda3/lib/python3.6/site-packages/html5lib-1.0.1.dist-info/RECORD'
有什么想法可以解决这个问题吗?
python - 如何从 page_source 获取 iframe 源
您好,我尝试从 page_source 中提取链接,我的代码是:
现在我只想抓取这个链接
python - BeautifulSoup4 提取所有类型的条件注释
我尝试做的事情:
使用 bs4 从 html 邮件中删除可疑评论。现在我遇到了所谓conditional comments
的类型问题downlevel-revealed
。
提取评论之前:
提取评论后:
问题:
小b也应该去掉。问题是,bs4 将第一个评论检测为一个评论对象,但第二个被检测为 3 个对象。Comment(if)、NavigableString(b) 和 Comment(endif)。提取只是删除了这两种评论类型。内容为“b”的 NavigableString 保留在 DOM 中。
有什么解决办法吗?
beautifulsoup - BS4“元素”到底是什么,如何计算元素,由哪个解析器决定?明显糊涂
我现在对一些我认为我理解的事情感到困惑,但事实证明我一直认为这是理所当然的。
人们经常遇到这种类型的for
循环:
elem
在我遇到这个简化字符串的一个版本之前,我没有过多关注的是实际情况:
我不再确定我期望的输出是什么,但是当我运行这段代码时:
输出是:
所以 bs4+html.parser 在字符串中找到了 10 个元素。他们的选择和呈现对我来说似乎不直观(例如,跳过opening text
和closing text
)。不仅如此,print(len(soup))
结果是7
!
所以为了确保,我换掉html.parser
了lxml
和html5lib
. 在这两种情况下,print(len(soup))
不仅是1
,而且elem
s 的数量也跃升至 13!而且,自然地,额外的元素是不同的。从第 4 次elem
到最后,两个库都与html.parser
. 然而,对于前三个...
与html5lib
您一起获得:
lxml
另一方面,使用,您会得到:
那么这一切背后的哲学是什么?是谁的“错”?有“正确”或“错误”的答案吗?而且,实际上,我应该只虔诚地遵循一个解析器,还是每个解析器都有时间和地点?
为问题的长度道歉。