【问题标题】:Python Xpath stops reading when bumps into a special character (HTML5 entities & Python)Python Xpath 在遇到特殊字符时停止读取(HTML5 实体和 Python)
【发布时间】:2018-01-01 09:52:31
【问题描述】:

我确实想从<meta charset="UTF-8"/> html 文档中获取数据,但对 html 和编码了解不多。

这是我要获取的刺:

<title>Tom & Jerry  &raquo; The First Adventure</title>

我的代码中读取它的部分是这样的:

title = tree.xpath('//title/text()')[0]

但它只会获取 'Tom' 作为名称/变量 title

的对象

如果 HTML 标题是

<title>Tom &amp; Jerry » The First Adventure</title>

它只会获取 Tom & Jerry

我怀疑答案是排序,但我不知道如何搜索它。我需要做什么才能获取 Tom & Jerry » The First Adventure

【问题讨论】:

  • 我认为 xpath 方法是内置的,但是由于您的评论,我对此进行了更多尝试,发现它来自 lxml 并且工作正常。如上所述,问题出在代码的其他地方。
  • 这是一个问答网站。请添加正确的答案。不要通过编辑问题来提供“答案”。另请参阅stackoverflow.com/help/self-answer

标签: python html xpath lxml


【解决方案1】:

OP 的解决方案。

问题是为什么lxml 模块的xpath 方法只给我提供任何特殊字符的字符串。但我错了。 xpath 可以完美地读取我想要的整个字符串。然后我通过 API 请求发送这个字符串,服务器无法读取整个字符串。简单的替换方法是我的问题的解决方案,将&amp;amp;替换为&amp;amp;,将»替换为&amp;raquo;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-06-12
    • 1970-01-01
    • 1970-01-01
    • 2016-07-16
    • 1970-01-01
    • 1970-01-01
    • 2017-08-27
    相关资源
    最近更新 更多