-1

私はこのコードを持っています (警告: 成人向けの URL コンテンツのみ!)

# Encoding: UTF-8

import re
import requests
# import chardet

html = requests.get('http://klonedaset.org/news.php?sid=51854&bn=luRsF2aAa6eV63nU71Jm&ad=0&ref=&pt=&cookie=null&cls=null').text
text = re.findall('target=_blank id=.*?>(.*?)</a>', html)[0]
# print chardet.detect(text) return this "{'confidence': 0.9599621544520228, 'encoding': 'windows-1251'}"

open('file12.txt', 'a').write(text)

そして、最後の行(ファイルに書き込む場所)でこのエラーが発生します

UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-2: ordinal not in range(128) 

私はこのようなことをしようとしています

html = html.decode(windows-1251').encode('UTF-8')

しかし、うまくいきません。UTF-8 でファイルに書き込む必要があります。

4

1 に答える 1

-1
open('file12.txt', 'ab').write(text)

バイナリ書き込み用に開く必要があります。より良い使用:

import codecs
file = codecs.open('file12.txt', mode="wb", encoding="utf-8")
于 2013-07-01T17:28:26.843 に答える