【问题标题】:Unicode error in python with forms (using Mechanize)带有表单的python中的Unicode错误(使用Mechanize)
【发布时间】:2016-01-06 07:05:14
【问题描述】:

我正在尝试使用 Mechanize 阅读网页中的一些表单:

for f in br.forms():
     print f

我得到以下错误:

UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 42: ordinal not in range(128)

我想我需要转换一些字符,但我不知道该怎么做。

【问题讨论】:

    标签: python forms unicode mechanize


    【解决方案1】:

    我终于找到了解决办法:

    import sys
    reload(sys)  
    sys.setdefaultencoding('utf8')
    

    【讨论】:

      【解决方案2】:

      尝试转换为repr

      for f in br.forms():
          print repr(f)
      

      【讨论】:

      • 感谢您的建议,但我得到以下结果:<mechanize._form.HTMLForm instance at 0x10a0f8998>。通常我会得到一个包含一些细节的列表:<TextControl(user=)> <PasswordControl(password=)>
      • 提供更多代码和您尝试打印的示例,以便其他人可以运行代码并进行测试
      猜你喜欢
      • 2011-09-13
      • 1970-01-01
      • 2011-06-29
      • 2011-04-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-24
      • 2016-12-04
      相关资源
      最近更新 更多