簡體   English   中英

使用python3將html內容保存到txt文件中

[英]save html content into a txt file using python3

我已經厭倦了搜索和嘗試出現重復錯誤的代碼,我真的希望有人能幫助我解決這個問題。 我的問題是如此簡單,我正嘗試使用python將html代碼保存在txt文件中,這是我正在使用的代碼:

from urllib.request import urlopen as uReq
url1 = 'http://www.marmiton.org/recettes/menu-de-la-semaine.aspx'
page = uReq(url1).read().decode()
f = open("test.html", "w")
f.write(page)
f.close()

但這給了我以下錯誤:

UnicodeEncodeError:'charmap'編解碼器無法對位置416224中的字符'\\ u2665'進行編碼:字符映射到

這是更新的解決方案:

Python 2.x:

import urllib

url1 = 'http://www.marmiton.org/recettes/menu-de-la-semaine.aspx'
page = urllib.urlopen(url1).read()
f = open("./test1.html", "w")
f.write(page)
f.close()

Python 3.x:

import urllib.request
import shutil

url1 = 'http://www.marmiton.org/recettes/menu-de-la-semaine.aspx'
page = urllib.request.urlopen(url1)
print(page)
f = open("./test2.html", "wb")
shutil.copyfileobj(page, f)
f.close()

您需要使用urllib來幫助您完成此任務。

您應該嘗試使用請求和bs4(BeautifulSoup)

from bs4 import BeautifulSoup
import requests
r = requests.get("https://stackoverflow.com/questions/47503845/save-html-content-into-a-txt-file-using-python")
data = r.text
soup = BeautifulSoup(data)
print(soup)
with open ('/tmp/test.html', 'a') as f:
    f.write(str(soup))

您提到不使用.decode()方法會給您帶來類型錯誤。 您是否嘗試獲取HTML內容並將其作為字符串傳遞給write()方法。 您可能會找到用三引號將HTML內容括起來的方法,因此將其作為多行字符串傳遞。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM