月: 2023年5月

  • 余計なものもいとおしくて

    前世は概念ですか? そうですかー

  • 岡奈なな子公式ストアがついにオープンしました!

  • アップスタート

    Wikipediaには情報がないのでIMDbを貼っとく

    Upstarts
    https://m.imdb.com/title/tt11066130/

    大金を稼ぎながら人の役に立つ仕事をしようと、大学を卒業して会社を立ち上げた3人の若者。だが、事業が成功するにつれ、仲間同士のきずなが揺らぎ始める。

  • メンテナンス中…

    終わり。バックアップとったー

  • ハイキュー!!

    烏野高校 VS 白鳥沢学園高校。なう…

  • I’m Feeling Lucky →

    Wikipediaの映画のページにランダムに遷移します。

    遷移先は、映画の公開日などが今日の「mm月dd日」と一致する作品です。

    備忘:

    Wikipediaダンプファイル
    https://dumps.wikimedia.org/jawiki/latest/

    Wikipediaのダウンロードできるデータファイル一覧
    http://www.mwsoft.jp/programming/munou/wikipedia_data_list.html

    ファイル
    jawiki-latest-pages-articles.xml.bz2(3.9G)
    jawiki-latest-pages-articles.xml(16.3G)

    ツール:WikiExtractor
    https://github.com/attardi/wikiextractor

    • XMLファイルが大きすぎて、viでも開けません。ターミナルがフリーズします。
    • Python 3.11では、ツールが実行できません。既知のバグの可能性があります。
    • Python 3.10では、XMLからテキストファイルへの変換はできますが、変換するとページ右側に表示される公開日の情報などが完全に削除されることが判明しました。
    • コマンド/シェルスクリプトでXMLの解析を試みましたが、行指向の処理では判定後に上の行を取得できないという問題が発生し、断念しました。AWKを頑張って使うよりも、Pythonでパースする方が良いと判断し、Pythonスクリプトを作成しました。
    • ページ内のテンプレート「Template:Infobox Film」の情報をXMLファイルから抽出しました。
    • 1ページに複数回テンプレートが登場する場合があります。
    • テンプレートの開始「{{Infobox Film」、終了「}}」の書き方が統一されていません。終了「}}」がテンプレートの終了以外でも使用される場合があります。「|}}」「次作 =}} xxx」「}} 本文開始」など、終了の表現方法が複数存在し、単純な正規表現ではマッチングできませんでした。
    • 急がば回れですが、「Infobox Film」が含まれるページのみを抽出すると、作業が容易になります。(16.3GB → 41MB)
    • 「<page>」のタグ数は2,808,250です。
    • 「Infobox Film」のテンプレートを含むページ数は25,173です。
    • 「{{Infobox Film」と「}}」の間に[1][2]などの注釈リンクが含まれており、今日の日付がページに表示されていない可能性があります(抽出したデータの妥当性を検証できていません)。
    • テンプレートには改行が含まれており、1ページを1行のCSVで管理するのは難しいため、SQLiteを使用しました。
    • MySQLにデータを格納するためのツールが公開されています。最初からMySQLにデータを格納するべきだったかもしれませんが、MySQLはローカル環境で使用しているため、仕方ありません。

    ChatGPTに添削してもらったら丁寧な文章になった。