【问题标题】:urllib encoding issuesurllib 编码问题
【发布时间】:2012-08-16 13:21:01
【问题描述】:

我正在开发一个网络爬虫来自动下载巴西网站上的一些文档。它使用了一些未知的编码(head 标签中没有定义字符集)。

只需很少的努力,人们就可以阅读这些文档。但真正的问题是,列出文档的页面使用的链接带有包含重音字符的 url。但是,在不知道页面编码的情况下,当我从 urllib2.urlopen 中检索它时,字符都乱了。

例如Í 字符为Cyrillic capital letter E

我正在使用 BeautifulSoup 并且 prettify 不起作用,因为 urllib2 已经返回带有错误字符的文档。

还有一件事:soup.originalEncoding 返回None

如何将urllib2.urlopen 设置为识别字符集或设置“预期编码”,使其返回浏览器上显示的字符?

【问题讨论】:

标签: python encoding urllib2


【解决方案1】:

可以从标题中检索字符集。我会给你我使用的代码,但它来自How to download any(!) webpage with correct charset in python?。而且,他在解释这个过程方面做得更好。所以,我只是指出你那里。

【讨论】:

  • 通过链接传递的解决方案确实有效。我之前尝试将 fromEncoding 参数设置为 BeautifulSoup 构造函数,但它不起作用。但后来我注意到,在 bs4 中,他们将其更改为 from_encoding,这是一种在 python 中更常用的表示法,并且效果很好。此外,我使用以下解决方案将 url 正确转换为 ascii:stackoverflow.com/questions/804336/… 非常感谢!
猜你喜欢
  • 1970-01-01
  • 2012-09-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-29
  • 2019-11-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多