我需要将BeautifulSoup结果保存到.txt文件。我需要使用str()将结果转换为字符串,而不是工作,因为list是UTF-8:
# -*- coding: utf-8 -*-
page_content = soup(page.content, "lxml")
links = page_content.select('h3', class_="LC20lb")
for link in links:
with open("results.txt", 'a') as file:
file.write(str(link) + "\n")并得到这个错误:
File "C:\Users\omido\AppData\Local\Programs\Python\Python37-32\lib\encodings\cp1252.py", line 19, in encode
return codecs.charmap_encode(input,self.errors,encoding_table)[0]
UnicodeEncodeError: 'charmap' codec can't encode characters in position 183-186: character maps to <undefined>发布于 2019-05-07 15:42:43
如果您还想以UTF-8格式写入文件,则需要指定:
with open("results.txt", 'a', encoding='utf-8') as file:
file.write(str(link) + "\n")最好是只打开文件一次:
with open("results.txt", 'a', encoding='utf-8') as file:
for link in links:
file.write(str(link) + "\n")(您也可以使用print(link, file=file)。)
https://stackoverflow.com/questions/56017759
复制相似问题