Python 将URL的内容保存到文本文件
我正在尝试将URL的内容保存到文本文件中。我在网上找到了几个示例脚本来执行此操作,下面两个脚本似乎很适合帮助我完成我想做的事情,但都返回了此错误: TypeError:需要类似字节的对象,而不是“str” 我可能遗漏了一些简单的东西,但我不知道是什么Python 将URL的内容保存到文本文件,python,python-3.x,Python,Python 3.x,我正在尝试将URL的内容保存到文本文件中。我在网上找到了几个示例脚本来执行此操作,下面两个脚本似乎很适合帮助我完成我想做的事情,但都返回了此错误: TypeError:需要类似字节的对象,而不是“str” 我可能遗漏了一些简单的东西,但我不知道是什么 我使用的是Python 3.6。您需要在文本中添加decode(“utf-8”)方法: with urlopen("http://www.msnbc.com") as r: s = r.read().decode('ut
我使用的是Python 3.6。您需要在文本中添加decode(“utf-8”)方法:
with urlopen("http://www.msnbc.com") as r:
s = r.read().decode('utf-8')
变量s包含一个字节字符串,需要进行解码。
错误的原因是unicode字符串和字节之间的区别问题:
Python3的标准字符串类型是基于Unicode的,Python3添加了一个专用的字节类型,但关键的是,没有提供字节和Unicode字符串之间的自动强制。该语言最接近隐式强制的是一些基于文本的API,如果没有显式说明编码,它们将采用默认编码(通常为UTF-8)。因此,核心解释器、其I/O库、模块名等在unicode字符串和字节之间的区别是明确的。Python3的unicode支持甚至扩展到了文件系统,因此非ASCII文件名本机支持
这种字符串/字节的清晰性通常是将现有代码转换为Python 3的困难来源,因为许多第三方库和应用程序本身在这种区别上是不明确的。不过,一旦迁移,大多数Unicode错误都可以消除
来源:您需要在文本中添加decode(“utf-8”)方法:
with urlopen("http://www.msnbc.com") as r:
s = r.read().decode('utf-8')
变量s包含一个字节字符串,需要进行解码。
错误的原因是unicode字符串和字节之间的区别问题:
Python3的标准字符串类型是基于Unicode的,Python3添加了一个专用的字节类型,但关键的是,没有提供字节和Unicode字符串之间的自动强制。该语言最接近隐式强制的是一些基于文本的API,如果没有显式说明编码,它们将采用默认编码(通常为UTF-8)。因此,核心解释器、其I/O库、模块名等在unicode字符串和字节之间的区别是明确的。Python3的unicode支持甚至扩展到了文件系统,因此非ASCII文件名本机支持
这种字符串/字节的清晰性通常是将现有代码转换为Python 3的困难来源,因为许多第三方库和应用程序本身在这种区别上是不明确的。不过,一旦迁移,大多数Unicode错误都可以消除
来源:试试:
str(content, encoding = "utf-8")
在您的代码中:
rendered_content = html2text.html2text(str(html_content, encoding = "utf-8"))
尝试:
在您的代码中:
rendered_content = html2text.html2text(str(html_content, encoding = "utf-8"))
可能重复的请至少包括回溯的最后几行-错误发生的确切位置是此处的关键信息。可能重复的请至少包括回溯的最后几行-错误发生的确切位置是此处的关键信息。对于我之前的混淆,我深表歉意!当我没有电脑自己测试的时候,我不应该试图对答案发表评论+1为我之前的困惑道歉!当我没有电脑自己测试的时候,我不应该试图对答案发表评论+1.