Python 将URL的内容保存到文本文件

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

我正在尝试将URL的内容保存到文本文件中。我在网上找到了几个示例脚本来执行此操作,下面两个脚本似乎很适合帮助我完成我想做的事情,但都返回了此错误:

TypeError:需要类似字节的对象,而不是“str”

我可能遗漏了一些简单的东西,但我不知道是什么


我使用的是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.