我在用 python 下载某个网页里的资料,获取的某一个 str 里面有些字符能正常 print 但是无法写入文件里,报错。
UnicodeEncodeError: 'gbk' codec can't encode character '\xf6' in position 308: illegal multibyte sequence
不知道应该如何解决?
写代码检查这个错误时,代码是这样的:
c = open('a2','w')
print('\xf6')
c.write('\xf6')
c.close()
源文件局部是这样的:
import urllib.request
from bs4 import BeautifulSoup
c = open('c1','w')
d = urllib.request.urlopen('http://www.efloras.org/florataxon.aspx?flora_id=3&taxon_id=200012756')
e = BeautifulSoup(d.read().decode(encoding="utf-8"),"lxml")
c.write(e.find(attrs={'id': 'lblTaxonDesc'}).get_text())
if e.find(attrs={'title': 'Illustration'}):
c.write(str(e.find(attrs={'title': 'Illustration'})))
c.close()
代码里的倒数第二行的 Tab 打不出来。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.