Python 属性错误:模块';sys';没有属性';setdefaultencoding';

Python 属性错误:模块';sys';没有属性';setdefaultencoding';,python,python-3.x,encoding,web-scraping,Python,Python 3.x,Encoding,Web Scraping,我的原始代码是这个 #py3.6, windows10 import time from selenium import webdriver import codecs import sys reload(sys) sys.setdefaultencoding('utf-8') 不支持重新加载。已经修好了 Import importlib Importlib.reload (sys) 但也有一个错误 AttributeError:模块“sys”没有属性“setdefaultencod

我的原始代码是这个

#py3.6, windows10   
import time
from selenium import webdriver
import codecs
import sys

reload(sys)
sys.setdefaultencoding('utf-8')
不支持重新加载。已经修好了

Import importlib
Importlib.reload (sys)
但也有一个错误

AttributeError:模块“sys”没有属性“setdefaultencoding”

我该如何解决这个问题?谢谢你的帮助

我还附上了我的全部代码

import time
from selenium import webdriver
import codecs
import sys

reload(sys)
sys.setdefaultencoding('utf-8')

browser = webdriver.PhantomJS('C:\phantomjs-2.1.1-windows/bin/phantomjs')
url = u'https://twitter.com/search?f=tweets&vertical=default&q=%EB%B0%B0%EA%B3%A0%ED%8C%8C%20since%3A2017-07-19%20until%3A2017-07-20&l=ko&src=typd&lang=ko'

browser.get(url)
time.sleep(1)

body = browser.find_element_by_tag_name('body')
browser.execute_script("window.scrollTo(0,document.body.scrollHeight);")

start = time.time()
for _ in range(500):
    now = time.time()
    browser.execute_script("window.scrollTo(0, 
    document.body.scrollHeight);")
    print str(_) + "    seconds: " + str(now - start) 
    time.sleep(0.2)

tweets=browser.find_elements_by_class_name('tweet-text')

with codecs.open("test.txt", "w","utf-8") as f:
    i = 1
    for i, tweet in enumerate(tweets):
        data = tweet.text
        data = data.encode('utf-8')
        print i, ":", data
        msg = (str(data) +'\n')
        f.write(msg)
        i += 1

end = time.time()
print(end - start)
browser.quit()

您应该删除
sys.setdefaultencoding
。请注意,在Python 2中,这也是对sys.setdefaultencoding的滥用

sys.setdefaultencoding(名称)

设置Unicode实现使用的当前默认字符串编码。如果名称与任何可用编码不匹配,则引发LookupError此功能仅适用于
站点
模块的实现,必要时可供
站点自定义
使用。一旦被
站点
模块使用,它将从
系统
模块的命名空间中删除。

版本2.0中的新功能


这将设置Python 2中8位字符串的编码。由于ByTestRing在Python3中没有编码,unicode字符串(
str
)也没有编码(它们是unicode,但内部编码不透明),因此该函数在Python3上没有意义-没有任何设置默认编码的内容。

启动Python3.4,此功能不再可用。还有
import
importlib
,未大写。。。请仔细检查您在此处键入的内容;)顺便说一句,后一种代码不可能在Python3.6上运行!当我删除短语时,我得到一个关于编码的新错误。。。这太可悲了。这并不意味着会出现错误消息。但是,所有tweet都以这种方式标记为\xeb\xb0\xb0\xea\xb3\xa0\xed\。我不能解决这个问题。。。