UnicodeEncodeError: 'charmap' codec can't encode

Windows 7 版本 Python36-32 代码用途:网站解析


你能建议错误的可能原因是什么?我在开头包含了编码 utf-8 和 (encoding = 'windows_1252', errors = 'replace') 在函数“open”中它帮助我在其他网站的其他类似解析器中,但对于这个不起作用


**一段代码:


# cycle through pages

     for i in range (count):

         s = str (i + 1)

         print (s, end = '')

         # make url

         url = url1 + s + url2 + str (status) + url3

         # get html file from server by url

         r = requests.get (url)

         # open file to save with full path to file name

         name = path + 'upload' + s + '.html'

         f = open (name, 'w', encoding = 'windows_1252', errors = 'replace')

         # save url data to file

         f.write (r.text)

         # close file

         f.close ()

         # download files through the list

         parseList (name, s + '.html')


     print ()

     return

错误文本:


Traceback (most recent call last):

  File "C:\Users\u6030283\Desktop\FINAM\finam_parser_new.py", line 478, in <module>

    parse('list', 'html', 'XS1272198265')

  File "C:\Users\u6030283\Desktop\FINAM\finam_parser_new.py", line 262, in parse

    f.write(r.text)

  File "C:\Users\u6030283\AppData\Local\Programs\Python\Python36-32\lib\encodings\cp1251.py", line 19, in encode

    return codecs.charmap_encode(input,self.errors,encoding_table)[0]

UnicodeEncodeError: 'charmap' codec can't encode character '\x97' in position 206: character maps to <undefined>


BIG阳
浏览 338回答 1
1回答

尚方宝剑之说

更新:的问题是不能从上述(写文件),但在代码parse()也不parseList()方法或从读取文件。替换以下内容# in parseList(...)text = open(url, 'r')# and in parse(..)text = open(path + file, 'r')&nbsp;和# in parseList(...)text = open(url, 'r', encoding='windows_1252')# and in parse(..)text = open(path + file, 'r', encoding='windows_1252')&nbsp;并且不要忘记将上述问题中的代码恢复到原始状态。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python