0

HTML ファイルの Head セクションに挿入する必要があるコードのセットを含むテキスト ファイルを挿入するコードを記述したいと考えています。フォルダーに何百もの HTML ファイルがあるため、手動で行いたくありません。

Head タグを検索し、その下に特定のテキスト ファイルを追加するようにコードに指示することはできますか?

どうすればこれを行うことができますか?

4

2 に答える 2

2

を使用できる場合sed、これは検討できる解決策になる可能性があります。

for file in *.html; do sed -i.bak '/<head>/a\ADD YOUR TEXT HERE' $i; done

<head>これにより、タグを含む行の次の行に「ADD YOUR TEXT」が書き込まれます。元のファイルには拡張子が追加され.bakます。

PS : 元のファイルが複雑で適切にフォーマットされた html が含まれていない場合、または追加するテキストが複雑な場合は、BeautifulSoup またはマークアップ言語を扱う特殊なライブラリを使用する必要があります。

于 2013-02-26T06:49:29.050 に答える
1

あなたはhtmlで読んでいるので、次のように動作するElementTreeでこれを行うことをお勧めします:

import xml.etree.ElementTree as etree

html = etree.parse(file_path)
head = html.getroot().find('head')
# To insert a tag surrounding in <head>:
newtag = etree.Element("newtag", attrib={})
newtag.text = "Text inside newtag surrounding"
head.insert(0,newtag)
# To just insert a text inside the head tag surrounding:
head.text = newtext + head.text
html.write(new_file_path)

Python2またはPython3のElementTree ドキュメントを参照してください。

于 2013-02-26T08:28:56.103 に答える