0
我試圖只寫出格式化的HTML從網站到文件。美麗的湯 - 任何指定的編碼打破美化格式化
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")))
我有傳入prettify
的「UTF-8」參數,以避免「UnicodeEncodeError:‘ASCII’編解碼器不能在位置編碼字符...」的錯誤,因爲這是我讀我需要做的。問題是,我傳入的任何一種編碼形式基本上解除了prettify
的作用,只是在一行文本中寫入/打印所有內容,其中每一行代表「\ n」。這發生在
soup.prettify().encode("UTF-8")
以及。
我也試着定義爲湯:
soup = BeautifulSoup(content.decode("UTF-8", "ignore"))
...但是,這並不工作。 我似乎無法找出任何問題或找到解決方案,而且這讓我瘋狂!