【问题标题】:Handling non-AscII characters in HTML using BeautifulSoup使用 BeautifulSoup 处理 HTML 中的非 AscII 字符
【发布时间】:2013-11-05 20:28:53
【问题描述】:

我正在从一个网站上提取数据,在查看源代码时使用 <td class="xxx"> </td>,但是当使用美丽的汤提取时,python 解释器中显示为 <td class="xxx">Tá</td>。我正在尝试针对该 td 中的数据。现在它是空的。像下面这样的东西没有用,因为这不是 Ascii 字符。救命!!:

result = <td class="xxx">&nbsp;</td>

#Check to see if it is returning an empty string
if not result:
    print 'empty'

【问题讨论】:

  • 既不是 'Tá' 也不是 ' ' (或带有文字 nbsp 的字符串)将是空字符串。另外,BeautifulSoup 不会将“&nbsp”转换为“Tá”……您能告诉我们更多来源吗? HTML 的 URL?
  • 当然。这是 URL link - 这是此 TD 中的数据:''
  • 该评论中的冒号后面应该有一个 URL 吗? 好了。 :-)
  • 该来源中有大约 10 亿个 &lt;td&gt;s:您如何缩小 HTML 范围? (你是如何计算 result 的?)如果你可以发布一个最小的测试用例来展示你的问题,它将允许我们运行它/调试它。
  • 是的,here it is

标签: python python-2.7 beautifulsoup


【解决方案1】:

我一直在使用 Unidecode 包来帮助我解码上游客户传递给我的 unicode。它似乎适用于我当前的所有测试用例。基本上它需要 unicode 并尝试将其转换为 ASCII 等价物。

【讨论】:

    猜你喜欢
    • 2011-10-07
    • 1970-01-01
    • 2013-07-13
    • 2013-09-19
    • 2011-06-03
    • 2013-03-22
    • 1970-01-01
    • 2011-05-10
    • 1970-01-01
    相关资源
    最近更新 更多