首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >某些站点的urllib2 getparam字符集不返回任何

某些站点的urllib2 getparam字符集不返回任何
EN

Stack Overflow用户
提问于 2014-09-02 13:25:09
回答 2查看 449关注 0票数 3

我已经为这事挣扎了一段时间了。下面的代码片段返回一些网站的None,即使字符集显示在头的元中,所以它似乎不是获取网页适当字符集的可靠方法。

代码语言:javascript
复制
conn = urllib2.urlopen(req)
charset = conn.headers.getparam('charset')

我在这里读了几个线程,有些提到要使用chardet,但如果可能的话,我不想导入额外的模块。相反,我想只下载标题,并使用一些字符串函数获取字符集信息。

有谁有更好的主意吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-09-02 13:32:02

conn.headers.getparam('charset')不解析html内容(<meta>标记),它只在headers (例如Content-Type)中显示。

如果没有在http标头中指定use an html parser to get the character encoding,则可以使用它。

票数 2
EN

Stack Overflow用户

发布于 2014-09-03 11:50:46

将我的评论移到这里,并将其作为回复发布。

多亏了@J.F.Sebastian,我可以使用下面的代码片段从meta标记中获得字符集:

代码语言:javascript
复制
conn = urllib2.urlopen(url)
site = parse(conn).getroot()
charset = site.cssselect('meta[http-equiv="Content-Type"]')[0].get('content').split("chars‌​et=",1)[1]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25624522

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档