Atom 在从网站请求数据时出错



我正在使用python中的请求模块从url请求html数据。
这是我的代码

import requests
source = requests.get('http://coreyms.com')
print(source.text)

当我在原子中运行它时,它会给我一个错误;

File "/Users/isaacrichardson/Desktop/Python/Web Scraping/wiki.py", line 7, in <module>
    print(source.text)
UnicodeEncodeError: 'ascii' codec can't encode character u'u2026' in position 34807: ordinal not in range(128)

但是当我在树屋工作区中运行它时,它工作正常并向我显示 html 数据。
原子或我的代码有什么问题?

请求库未正确安装到 atom 或不能用于它。正确安装它将解决问题。

如果这不起作用,我会尝试使用漂亮的汤模块:

from bs4 import BeautifulSoup
doc = BeautifulSoup(source.text, "html.parser")
print(doc.text)
requests

访问响应对象的.text属性时猜测编码。如果您事先知道响应的编码,则应在访问 .text 属性之前显式设置它:

import requests
source = requests.get('http://coreyms.com')
source.encoding = 'utf-8'  # or whatever the encoding is
print(source.text)

或者,您也可以使用 .content 来访问二进制响应 conent 并自行解码。

您可能希望通过简单地打印source.encoding来验证 IDE 中是否确实以不同的方式猜测编码。

最新更新