[解決済み] AttributeError: モジュール 'sys' には 'setdefaultencoding' という属性がない。
質問
私のオリジナルのコードはこれです。
#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
. の乱用であったことに注意してください。
sys.setdefaultencoding
Python 2でもずっと
Python 2のドキュメントより
:
sys.setdefaultencoding(name)
Unicode 実装で使用される現在のデフォルト文字列エンコーディングを設定します。name が利用可能などのエンコーディングにも一致しない場合、LookupError が発生します。 この関数は、以下のような場合にのみ使用されることを意図しています。
site
モジュールの実装と、必要な場合はsitecustomize
. 一度site
モジュールから削除されます。sys
モジュールの名前空間です。バージョン2.0での新機能です。
これは Python 2 の 8-bit 文字列のエンコーディングを設定します。バイト列は
いいえ
はPython 3でエンコードされ、ユニコード文字列(
str
はどちらも持たないので (Unicode ではあるが、内部エンコーディングが不透明)、この関数は Python 3 では意味がありません - あるのは
何もない
にデフォルトエンコーディングを設定します。
関連
-
[解決済み】インポートエラー。モジュール名 urllib2 がない
-
[解決済み】AttributeError: 'module'オブジェクトには属性がありません。
-
[解決済み】AttributeError: 'datetime' モジュールには 'strptime' という属性がありません。
-
[解決済み] AttributeError: 'module' オブジェクトには 'urlopen' という属性がありません。
-
[解決済み] モジュールの関数名(文字列)を使って、モジュールの関数を呼び出す。
-
[解決済み] Pythonでオブジェクトが属性を持つかどうかを知る方法
-
[解決済み] フルパスでモジュールをインポートするには?
-
[解決済み] XMLを解析して、特定のノード属性のインスタンスをカウントするには?
-
[解決済み] エラーです。" 'dict' オブジェクトには 'iteritems' という属性がありません "
-
[解決済み] AttributeError: 'NoneType' オブジェクトには 'something' という属性がありません」と表示されるのはなぜですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
python call matlab メソッドの詳細
-
python implement mysql add delete check change サンプルコード
-
PyQt5はユーザーログインGUIインターフェースとログイン後のジャンプを実装しています。
-
任意波形を生成してtxtで保存するためのPython実装
-
[解決済み】お使いのCPUは、このTensorFlowバイナリが使用するようにコンパイルされていない命令をサポートしています。AVX AVX2
-
[解決済み】numpyの配列連結。"ValueError:すべての入力配列は同じ次元数でなければならない"
-
[解決済み] 'int'オブジェクトに'__getitem__'属性がない。
-
[解決済み】 AttributeError("'str' object has no attribute 'read'")
-
[解決済み】IndexError: invalid index to scalar variableを修正する方法
-
[解決済み】ImportError: bs4という名前のモジュールがない(BeautifulSoup)