前提・実現したいこと
PythonでBeautifulSoupを使って、Web上のファイルをローカルに保存するプログラムを作成しています。
Web上のリンク先のファイルも、ローカルに保存しています。
このとき、HTMLファイルのソース内のリンクを、Web上のリンクではなく、ローカルなリンクに変更したいのですが、やり方が良く分かりません。
発生している問題・エラーメッセージ
BeautifulSoupオブジェクトのファイルリンクをローカルな参照先に書き換えたいが、やり方が分からない
該当のソースコード
Python3
import bs4
import reqests
res=requests.get('http://hogehoge.com')
dat=bs4.BeautifulSoup(res.content,"lxml")
f=open('local.htm','w',encoding='utf-8')
for aa in dat.find_all('a'):
link=aa.get('href')
name=aa.get_text()
dat_temp=dat.text.replace(抽出したリンク,ローカルなファイル名)
#このあと、datへdat_tempを書き戻す方法が分かりません。
#dat.text=dat_tempはcan't set attributeというエラーが出ました。
f.write(dat.text)
f.close
試したこと
一旦、
dat_text=dat.text
として、
dat_temp=dat_text.replace(置換対象,置換後)
dat_text=dat_temp
は置換の書き戻しまではできるのですが、HTMLとしての構造が残っていない、巣のText情報だけになってしまいます。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。