当前位置: 首页 > 面试题库 >

如何处理来自urllib.request.urlopen()的响应编码

宗政功
2023-03-14
问题内容

我正在尝试使用正则表达式搜索网页,但出现以下错误:

TypeError:无法在类似字节的对象上使用字符串模式

我知道为什么urllib.request.urlopen()返回一个字节流,因此,至少在我看来,re不知道要使用的编码。在这种情况下我该怎么办?有没有办法在urlrequest中指定编码方法,或者我需要自己重新编码字符串?如果是这样,我想做什么,我假设我应该从标题信息中读取编码,或者如果在html中指定了编码类型,则应将其重新编码为?


问题答案:

您只需要解码响应,Content- Type通常使用标头的最后一个值即可。本教程中也提供了一个示例。

output = response.decode('utf-8')


 类似资料:
  • 问题内容: 我的网络服务返回一个JSON对象,如下所示 即,当我将此地址放入chrome浏览器中时,我可以到达上面。 我正在尝试在浏览器中阅读此内容,以便可以创建一个下拉选项…但是从以下代码开始我一无所获: 我总是在警报框中。我用fiddler2再次检查了Web服务请求/响应是否正常,我什至可以拦截Web服务和浏览器之间的json对象。 我也试过 我又得到了空。 我已经看过Ajax要求的json响

  • API响应一个JSON对象,该对象具有一个对象数组,如,其中包含我们需要处理的数据。问题是数组有1.000个对象,endpoint响应很慢,所以流式传输需要几秒钟才能完成,而我们的“博客”编程模型使用Apache HttpClient来消耗endpoint,杰克逊来序列化响应,我们等待为了获得完整的正文来解析保存数组的所有对象,而不是在每个元素到来时处理它们,节省了内存使用的时间,因为一旦处理了一

  • 在我们的spring boot应用程序中,我们出于某种目的调用外部API,它将返回大约20mb的JSON数据作为响应。收到响应后,使用ObjectMapper将响应映射到POJO。 我们正在使用RestTemboard调用API并接收响应。 在Spring启动应用程序中处理大型响应数据而不会出现内存问题的最佳实践是什么? 谢谢

  • 我在IOS应用程序中使用PromiseKit与Rails RESTful后端通信,并且有一些调用只返回头,例如通过在后端执行。 我尝试的是: 我使用了将数据发布到后端,后端确实收到了数据并响应了消息,但PromiseKit报告了以下异常: 2014-07-31 11:19:39.501 HelloPOS[13223:60b]Error Domain=NSCocoaErrorDomain Code=

  • OpenAM是否依赖于注册IDP的公钥来使SAML响应多样化 或还取决于来自IDP-like算法的SAML响应中的哈希算法=”http://www.w3.org/2000/09/xmldsig#sha1“” 注意OpenAM版本:13.0.0

  • 在spring中提供了三种不同的方法来连接响应端: 我的目标是记录每个响应(标题状态代码),不管结果如何。 我怎样才能知道上述哪种方法是正确的?