我正在使用 Python2.6,并且请求模块和字符编码存在大量问题。
归结为最简单的形式,这是我的代码和产生的错误(包括导致我的问题的实际站点):
import requests
sites = ['www.ddelectricmotors.com', 'www.stearnswood.com']
for domain in site:
r = requests.get( 'http://' + domain )
f = open( domain, 'w' )
f.write( r.text )
f.close()
DDElectric Motors 的页面加载并保存良好,但 Stearnswood 尝试产生以下错误:
UnicodeEncodeError: 'ascii' codec can't encode character u'\u2019' in position 13186: ordinal not in range(128)
理想情况下,我宁愿只强制编码为 ascii,因为我将它加载到 scikit-learn 中,这似乎更喜欢 ascii。我只需删除未知字符就可以了。