HTML を簡単に扱える Beautiful Soup

作成日 : 2025-05-27
最終更新日 :

HTML を扱う

私のホームページは、レイアウトをあまり工夫していない。タイトルが左上にあって、右上に作成日を、作成日の下に最終更新日を配置している。 昔はこのようなレイアウトを次のようにして作っていた。

コード 1

<table><tr>
  <td>
  <h1>タイトル</h1>
  </td>
  <td align="right">
    作成日: YYYY-MM-DD<br />
    最終更新日: <script type="text/JavaScript" src="../js/gxisdata.js"></script>
  </td>
</tr></table> 

今は、レイアウトを table 要素で作るのはご法度である。特に、属性を align="right" のように指定することは現在では認められない。したがって、現在は CSS を使ってこのようにしている。

コード 2

<div id="container">
    <h1>タイトル</h1>
    <div="itemB">作成日: YYYY-MM-DD
    <div="itemC">最終更新日: <span id="revizio"></span>
</div> 

私の今の課題は、コード 1 をコード 2 に変換する楽な方法を見つけることだ。最初は正規表現でなんとかなるかと思っていたが、 退屈なことは Python にやらせようの p.272 を読んで、Beautiful Soup を使うことに決めた。 参考: RegEx match open tags except XHTML self-contained tags(stackoverflow.com)

ところが Beautiful Soup を使おうとして気づいたのは、HTML ファイルから情報を検索することはわかりやすいのだが、情報を更新してファイルに書き込むのが難しいことがわかった。 ということで、やはり正規表現に頼らざるをえないのだった。

まりんきょ学問所Python の開墾 > HTML を簡単に扱える Beautiful Soup


MARUYAMA Satosi