0
ウェブサイトからファイルに書式設定されたhtmlを書き出しようとしています。美しいスープ - 指定されたエンコーディングがフォーマットを中断します
私は避けるためにprettify
に渡され、「UTF-8」パラメータ持つ
from bs4 import BeautifulSoup
import urllib3
from os import sys
if len(sys.argv) > 1:
url = sys.argv[1]
print(url)
else:
url = "www.niceme.me"
http = urllib3.PoolManager()
content = http.request("GET", url).data
soup = BeautifulSoup(content)
outputFile = open("output.html", 'w')
outputFile.truncate()
outputFile.write(str(soup.prettify("UTF-8")))
「UnicodeEncodeErrorを: 『ASCII』コーデックが所定の位置に文字をエンコードすることはできません...」のエラー、それは私が行うために必要な読んだものだとして、 。問題は、私が渡すエンコーディングの形式は基本的にprettify
を元に戻し、すべての行をテキストの1行に書き込み/印刷するだけです。新しい行はそれぞれ「\ n」で表されます。これは、
soup.prettify().encode("UTF-8")
についても同様です。
私はまた、スープを定義しようとしました:
soup = BeautifulSoup(content.decode("UTF-8", "ignore"))
...しかし、それはどちらか動作しません。 私は何かを見つけたり、解決策を見つけることができないと私をナットを運転している!