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>
1 回答
尚方宝剑之说
TA贡献1788条经验 获得超4个赞
更新:
的问题是不能从上述(写文件),但在代码parse()也不parseList()方法或从读取文件。
替换以下内容
# in parseList(...)
text = open(url, 'r')
# and in parse(..)
text = open(path + file, 'r')
和
# in parseList(...)
text = open(url, 'r', encoding='windows_1252')
# and in parse(..)
text = open(path + file, 'r', encoding='windows_1252')
并且不要忘记将上述问题中的代码恢复到原始状态。
添加回答
举报
0/150
提交
取消