日本語BBS過去ログのアーカイブ前処理基盤(実装) / Preprocessing foundation for legacy Japanese BBS archives (1999-2002 era)
Project description
Legacy Japanese BBS Archival Preprocessing Toolkit(仮)
1999〜2002年頃の日本語BBS過去ログ(あやしいわーるど等)を対象とした、 デジタル文化資産の前処理基盤。
製作方針
速く、軽く、確実に。
最上位原則
アーカイブは弄らない。 利用者の利益最大。
詳細は spec/principles.md を参照。
仕様
- spec/principles.md — 設計原則
- spec/parser-api.md — Parser API仕様
- spec/intermediate.schema.json — IR(中間表現)スキーマ
- spec/misuse-cases.md — 想定される誤用ケース
- spec/glossary.md — 用語集
使用スクリプト言語
| 用途 | 言語 | 備考 |
|---|---|---|
| 本体(本ツールキット) | Python 3.9+ | CLI・Parser・Registry・IR生成 |
| 解析対象①:zantei20070218系 | Perl | zbbs.cgi等。あやしいわーるど@暫定コミュニティによる改造版 |
| 解析対象②:ksphp-plus系 | PHP | kuzuha-scriptPHP+によるBBS出力 |
| 解析対象③:hr境界系(remix/mizuiro/meiso/ariake) | Perl | くずはすくりぷと亜種・MINIBBS系列、いずれもPerl製CGI |
| サニタイズ連携:ng-check | PHP | 別リポジトリ ng-check-php をサブプロセス呼び出し |
| IR(中間表現)形式 | JSON / JSON Lines | spec/intermediate.schema.json、出力は.jsonl |
対応する掲示板系列が増えるごとに、本体はPythonのまま解析対象言語のみ増える設計(Parser Plugin Namespace契約、詳細はspec/parser-api.md参照)。
対象範囲
対象は掲示板が出力したHTML形式のログ(ユーザーが保存・共有可能な公開ページ)です。 サーバー管理者のみが保有する生ログ(CSV/.dat/.log等の内部保存形式)はスコープ外です。 一般に流通するのはHTML形式のみであるため。
対応系統一覧
| namespace | 系統 | ブロック境界 | タイムスタンプ書式 | post_id |
|---|---|---|---|---|
legacy-bbs-toolkit.parser.kscrr1p9 |
zantei20070218(あやしいわーるど@暫定・II等) | <!-- N -->〜<!-- --> |
スラッシュ・年あり | 原文の投稿番号 |
legacy-bbs-toolkit.parser.ksphp_plus |
kuzuha-scriptPHP+ | <div class="m" id="mN"> |
スラッシュ・年あり | 原文の投稿番号 |
legacy-bbs-toolkit.parser.remix |
リミックス | <hr>のみ |
スラッシュ・年あり | ファイル内連番(合成) |
legacy-bbs-toolkit.parser.mizuiro |
みずいろ/ダーザイン(じょしあな+Team MIZUIRO) | <hr>のみ |
漢字・年あり | ファイル内連番(合成) |
legacy-bbs-toolkit.parser.meiso |
メイソ | <hr>のみ |
漢字・年あり(<strong>タグ) |
ファイル内連番(合成) |
legacy-bbs-toolkit.parser.ariake |
有明(MINIBBS系列) | <hr>のみ |
漢字・年なし | ファイル内連番(合成) |
投稿番号マーカーを持たない系統はpost_idをファイル内連番として合成する。
有明系統は原文に年情報が無いためparsed_timestampはNone(ISO 8601化不能、推測補完はしない)。
Python 3.9+ パッケージとして提供。
pip install -e .
legacy-bbs-toolkit <ログファイル> [--out 出力.jsonl] [--from auto|utf-8|cp932|euc_jp]
[--ng-check-php php] [--ng-check-hashes hashes-txt.gz]
[--summary-only]
依存コンポーネント
サニタイズ機能は ng-check を利用します。 NG辞書(hashes-txt.gz形式)は本リポジトリに現在運用中の実データ(SHA-256ハッシュ化済み)を含みます。
文字コード自動判定のロジックは to-utf8-php と同方針で実装しています。
状態
Phase 1(Design Principles):完了・凍結済み。
Phase 2(Specification):コア仕様確定。DISCLAIMER.md / ETHICS.md 追加済み。 Provenanceの保存形式・改訂方式は実装側の運用方針に委任(意図的な保留継続)。
Phase 3(Implementation):6系統のParserを実装・実データ検証済み(zantei / ksphp_plus / remix / mizuiro / meiso / ariake)。詳細は「対応系統一覧」を参照。テスト53件全パス。 変更履歴は CHANGELOG.md を参照。
License
MIT License — LICENSE.md を参照。
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file legacy_bbs_toolkit-0.1.0.tar.gz.
File metadata
- Download URL: legacy_bbs_toolkit-0.1.0.tar.gz
- Upload date:
- Size: 34.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
615b71c5679636472755f61b2d2abeed0f499b60dcef81d280ba80305dea9067
|
|
| MD5 |
bdcf8565206a12a4730c2749f1fd7cf6
|
|
| BLAKE2b-256 |
6d5c9d3ab41e5be9195eab7df08df59a4e18d37ec924ea5f1e793d2501e3fa2d
|
Provenance
The following attestation bundles were made for legacy_bbs_toolkit-0.1.0.tar.gz:
Publisher:
workflow.yml on gikonekos/legacy-bbs-toolkit
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
legacy_bbs_toolkit-0.1.0.tar.gz -
Subject digest:
615b71c5679636472755f61b2d2abeed0f499b60dcef81d280ba80305dea9067 - Sigstore transparency entry: 2314781813
- Sigstore integration time:
-
Permalink:
gikonekos/legacy-bbs-toolkit@c82e51d814e989a76ee0c7d5aa4eda0ff6062853 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/gikonekos
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
workflow.yml@c82e51d814e989a76ee0c7d5aa4eda0ff6062853 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file legacy_bbs_toolkit-0.1.0-py3-none-any.whl.
File metadata
- Download URL: legacy_bbs_toolkit-0.1.0-py3-none-any.whl
- Upload date:
- Size: 35.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4a9b9d60cfeb048d5573f1ddfc0d85dc9d5bdcf09fd9219ab42bf42bec528ade
|
|
| MD5 |
c1af289549d3bcc22bdeb97362355774
|
|
| BLAKE2b-256 |
97048c38beaaecf2c85c06480dde673ca4d42e02c3d88cd0dc9eaceda275aff3
|
Provenance
The following attestation bundles were made for legacy_bbs_toolkit-0.1.0-py3-none-any.whl:
Publisher:
workflow.yml on gikonekos/legacy-bbs-toolkit
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
legacy_bbs_toolkit-0.1.0-py3-none-any.whl -
Subject digest:
4a9b9d60cfeb048d5573f1ddfc0d85dc9d5bdcf09fd9219ab42bf42bec528ade - Sigstore transparency entry: 2314781925
- Sigstore integration time:
-
Permalink:
gikonekos/legacy-bbs-toolkit@c82e51d814e989a76ee0c7d5aa4eda0ff6062853 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/gikonekos
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
workflow.yml@c82e51d814e989a76ee0c7d5aa4eda0ff6062853 -
Trigger Event:
workflow_dispatch
-
Statement type: