mac os 上的 lxml 无法解析包含 emoji 的 html?

mac os 上的 lxml 无法解析包含 emoji 的 html

<html>

<head>
    <title>随机 Emoji 示例</title>
</head>

<body>
    <p id="emojiParagraph">😄 这是一个带有随机 Emoji 的段落: </p>


</body>

</html>

对于上面带有 emoji 的 html,lxml 会返回 None

from lxml import etree
from mark import BASE_DIR

with open(BASE_DIR/'123.html', 'r', encoding='utf-8') as file:
    dom = etree.HTML(file.read())
    
    print(dom)

输出如下:

None

如果我删除 emoji

<html>

<head>
    <title>随机 Emoji 示例</title>
</head>

<body>
    <p id="emojiParagraph"> 这是一个带有随机 Emoji 的段落: </p>


</body>

</html>

继续使用同样的代码

from lxml import etree
from mark import BASE_DIR

with open(BASE_DIR/'123.html', 'r', encoding='utf-8') as file:
    dom = etree.HTML(file.read())
    
    print(dom)

输出如下:

<Element html at 0x102d05a80>

所以,问题在于 lxml 无法解析带有 emoji 的网页,这个问题在 liunx 上无法复现

这个问题在 macos 上的任意 python 版本可以复现

这个问题在 macos 上的任意 lxml 版本可以复现

类似的问题如下,但是也没人管

针对这个问题,我也去提了一个 bug,不知道会不会有回音:https://bugs.launchpad.net/lxml/+bug/2046208

阅读 1.1k
1 个回答
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏