target="_blank"
最近、次のような外部リンクへの追加を実装しました。
@hooks.register('after_edit_page')
def do_after_page_edit(request, page):
if hasattr(page, "body"):
soup = BeautifulSoup(page.body)
for a in soup.findAll('a'):
if hasattr(a, "href"):
a["target"] = "_blank"
page.body = str(soup)
page.body = page.body.replace("<html><head></head><body>", "")
page.body = page.body.replace("</body></html>", "")
page.body = page.body.replace("></embed>", "/>")
page.save()
@hooks.register('construct_whitelister_element_rules')
def whitelister_element_rules():
return {
'a': attribute_rule({'href': check_url, 'target': True}),
}
問題:
美しいスープが出力を混乱させ、
html, head & body
タグを追加する - html、head、body タグを自動的に付けないでください、beautifulsoupまた、埋め込みタグを台無しにします-BeautifulSoup 4に自己終了タグを尊重させる方法は?
fix
したがって、出力の一部を空白の文字列に手動で置き換える、くだらない " "。
質問:
これを行うための正しくて最良の方法は何ですか?