如何將網站的源代碼複製到Python 3中的文本文件中?將HTML源代碼保存到文件
編輯: 爲了澄清我的問題,這是我有:
import urllib.request
def extractHTML(url):
f = open('temphtml.txt', 'w')
page = urllib.request.urlopen(url)
pagetext = page.read()
f.write(pagetext)
f.close()
extractHTML('http:www.google.com')
我得到以下錯誤的f.write()函數:
builtins.TypeError: must be str, not bytes
您是否試過在這裏尋找?:http://stackoverflow.com/questions/5512811/builtins-typeerror-must-be-str-not-bytes – Jack 2012-04-01 21:08:08
令人驚訝的是,沒有一個答案(除了一個)實際上解決了這個問題..'pagetext'不是一個字符串..它實際上是字節。所以要將它轉換爲一個字符串,你需要使用'f.write(pagetext.decode('utf-8'))'這將把一個UTF-8編碼的字符串轉換爲文件。 – Brandon 2017-10-12 23:57:58
@Brandon我嘗試了你所說的並且得到一個錯誤:UnicodeDecodeError:'utf-8'編解碼器無法解碼位置8482中的字節0xa0:無效的開始字節。我只是在沒有'str()'的情況下直接複製了我的答案,並將'f.write(pagetext.decode('utf-8'))'放在'f.write(pagetext)'的位置。任何想法爲什麼這不適合我。如果你使用的是Python 2,那麼可能是爲什麼 – Simon 2017-10-13 00:40:19