概述
我写了一个脚本来抓取YouTube播放列表页面的标题
根据print语句,一切正常,直到我尝试将标题写入文本文件,这时我得到“UnicodeEncodeError:'charmap'codec无法对字符进行适当的编码…”
我尝试在打开文件时添加“encoding='utf8'”,虽然这样可以修复错误,但所有的汉字都被随机的、乱七八糟的字符所取代
我还尝试用'replace'对输出字符串进行编码,然后对其进行解码,但这也只是将所有特殊字符替换为问号
这是我的代码:from bs4 import BeautifulSoup as BS
import urllib.request
import re
playlist_url = input("gib nem: ")
with urllib.request.urlopen(playlist_url) as response:
playlist = response.read().decode('utf-8')
soup = BS(playlist, "lxml")
title_attrs = soup.find_all(attrs={"data-title":re.compile(r".*")})
titles = [tag["data-title"] for tag in title_attrs]
titles_str = 'n'.join(titles)#.encode('cp1252','replace').decode('cp1252')
print(titles_str)
with open("playListNames.txt", "a") as f:
f.write(titles_str)
最后
以上就是动听雨为你收集整理的python中英文字符和中文字符_如何在文件中同时写入中英文字符(Python3)?的全部内容,希望文章能够帮你解决python中英文字符和中文字符_如何在文件中同时写入中英文字符(Python3)?所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复