Python 2.7 由于';ascii';编解码器可以';t编码字符u'\xa0';
我正在尝试使用Python2.7 Mechanize登录Yahoo。我遇到了一个无法正确编码结果的错误。有人碰到过这个吗Python 2.7 由于';ascii';编解码器可以';t编码字符u'\xa0';,python-2.7,mechanize,Python 2.7,Mechanize,我正在尝试使用Python2.7 Mechanize登录Yahoo。我遇到了一个无法正确编码结果的错误。有人碰到过这个吗 import platform from selenium import webdriver import time import mechanize import cookielib import sys br = mechanize.Browser() cj = cookielib.LWPCookieJar() br.set_cookiejar(cj) br.s
import platform
from selenium import webdriver
import time
import mechanize
import cookielib
import sys
br = mechanize.Browser()
cj = cookielib.LWPCookieJar()
br.set_cookiejar(cj)
br.set_handle_equiv(True)
br.set_handle_gzip(True)
br.set_handle_redirect(True)
br.set_handle_referer(True)
br.set_handle_robots(False)
br.set_handle_refresh(mechanize._http.HTTPRefreshProcessor(), max_time=1)
br.addheaders = [('User-agent', 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071615 Fedora/3.0.1-1.fc9 Firefox/3.0.1')]
print'opening'
response = br.open('https://login.yahoo.com/config/login_verify2?&.src=ym&.intl=us')
print response.geturl()
br.select_form(nr=0)
br.form['username'] = 'fakeusername'
response = br.submit()
print response.geturl()
br.select_form(nr=0)
br.form['password'] = 'fakepassword'
response = br.submit()
print response.geturl()
我在提交密码时收到错误代码:br.form['password']='fakepassword'
response=br.submit()
A0
的扩展Ascii字符是“不间断空格”,您可能需要更深入地了解1347行周围变量中的值。更确切地说,Unicode代码点A0表示不间断空格,因此您的数据中可能有一个或多个。啊,是的,因为字符串上的u
前缀表示Unicode。几乎忘记了困难在于提交在幕后发挥了一些魔力,我无法停止清理。urllib.pyc在这里失败了。A0
的扩展Ascii字符是“非中断空间”,您可能需要深入了解1347行周围变量中的值。更确切地说,Unicode代码点A0表示非中断空间,因此您的数据中可能有一个或多个。啊,是的,因为字符串上的u
前缀表示Unicode。几乎忘记了困难在于提交在幕后发挥了一些魔力,我无法停止清理。urllib.pyc在此失败。
C:\Anaconda2\lib\urllib.pyc in urlencode(query, doseq)
1345 for k, v in query:
1346 k = quote_plus(str(k))
-> 1347 v = quote_plus(str(v))
1348 l.append(k + '=' + v)
1349 else:
'ascii' codec can't encode character u'\xa0' in position 4: ordinal not in range(128)