【问题标题】:Python3 Write to file beautifulsoupPython3 写入文件 beautifulsoup
【发布时间】:2015-07-16 10:32:56
【问题描述】:

我想用这段代码写美丽的汤形式:

soup = BeautifulSoup(con.content)
f = open('/*/*/Desktop/littletext.rtf','w')
f.write(str(soup))
f.close()

我收到此错误:

Traceback(最近一次调用最后一次): 文件“///Desktop/test123.py”,第 10 行,在 f.write(汤) TypeError: 必须是 str,而不是 BeautifulSoup

任何想法如何解决这个问题?我试图将 'soup' 转换为字符串,但没有成功 - f.write(str(soup))

【问题讨论】:

  • 您问题顶部的代码与回溯不匹配。 “没用” 究竟是什么意思;您使用f.write(str(soup)) 实际收到的错误消息是什么?
  • @jonrsharpe Traceback(最近一次调用最后一次):文件“/*/*/Desktop/test123.py”,第 10 行,在 f.write(str(soup)) UnicodeEncodeError: “ascii”编解码器无法在位置 28521 编码字符“\u2026”:序数不在范围内(128)
  • 因此,您已经阅读了有关处理 UnicodeEncodeErrors 或 Python 中的 Unicode 的众多现有问题中的任何一个,或者例如docs.python.org/3/howto/unicode.html?

标签: python-3.x beautifulsoup


【解决方案1】:

发现我的问题是我必须在

中使用 'wb'
f = open('/*/*/Desktop/littletext.rtf','wb')

f.write(str(soup))

必须是

f.write(soup.encode('utf-8'))

【讨论】:

  • 感谢这个简单的解决方案!
猜你喜欢
  • 2018-10-04
  • 2014-10-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-02
  • 2018-01-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多