「なろう一括取得から青空文庫形式」のバージョン管理をGitHubに移します(2025/01/02追記)
「小説家になろう」のテキストに青空文庫の注記形式を付けて読書尚友などの青空文庫ビューアで読むPythonスクリプトをこちらにアップしてきましたが、バージョンアップごとに追記したり手元でバージョン管理したりするのが面倒(で、そろそろ事故りそう)なので、GitHubの方にリポジトリを作りました。
pado3/narou2az: Make Aozora-bunko format text from syosetu.com (Syosetsuka ni narou)

今後マイナーなバージョンアップの時は、ブログではスクリプトファイルだけを差し換えて、バージョン履歴などはGitHubで参照できるようにしたいと思います。大幅な改変や重大なバグがあった場合はブログでもお報せします。
今日の大文字NCODE対応あたりが、ブログに書くかどうかの境目かな。 あらためまして、ご利用は自己責任で。 パドラッパ from MacBook Air (2017) 【2021/06/17追記】
一部のコンテンツで、ルビのhtmに想定外の状態があったのに対応しました。具体的には、
粟立 った
のところでルビを閉じるカッコが全角になっている部分が青空文庫形式のルビ記号である「《》」に置換できなかったのを、全角でも半角でも対応できるようにしました。
ちなみにhtmlのルビ仕様としては、このカッコはルビ非対応ブラウザにおける代替文字なので、全角だろうが半角だろうが問題ありません。しかし、narou2az.pyでは半角決め打ちになっており、ビューワアプリで次のように表示が乱れていました。
「読書尚友」の表示例:
「読書家」の表示例:
【2023/05/24追記】
1000話を超える作品に対応しました。アニメ化の近い「ティアムーン帝国物語」が楽しく続いていることへのリスペクトを込めて。 【2024/03/09追記】
リクエストヘッダを付加しました。(一般的には付加しておくところ、3/7の昼時点までは不要だったのですが、先ほど取得できなかったので対応。) 【2024/03/15追記】
サイトのリニューアルに伴って話数を示すキーワードが「部分」から「エピソード」に変わったことへ対応しました。 【2024/03/21追記】
「読書尚友」で読むときにルビ文字が乱れることへの対策を別記事に書き、スクリプトはGitHubへアップしました。 【2024/04/25追記】
htmlのルビ仕様でrbタグが非推奨になったことにサイトが4/24頃に対応したようで、従来のコードではルビが認識できなくなっていました。また、rbタグが無いとBeautifulSoup4がルビをパースできず、ルビ文字が拾えなくなっていました。そこでルビについてはbs4でパースさせず、青空文庫形式のタグへ変換することにしました。
ここに直接書くとブラウザがタグ認識してしまうので、メモの図を添付します:

【2024/09/19追記】
「なろう」サイトの章・節タイトル、連番、本文のタグ仕様変更に対応しました。 【2025/01/02追記】
本文に「前書き」「後書き」が混ざり込んでいたのを除外しました(おそらく、2024年9月のタグ仕様変更時に混ざり込んでいました)。
参考:
HTMLソースの特定の要素を削除・置換 【BeautifulSoup】 - Qiita

今後マイナーなバージョンアップの時は、ブログではスクリプトファイルだけを差し換えて、バージョン履歴などはGitHubで参照できるようにしたいと思います。大幅な改変や重大なバグがあった場合はブログでもお報せします。
今日の大文字NCODE対応あたりが、ブログに書くかどうかの境目かな。 あらためまして、ご利用は自己責任で。 パドラッパ from MacBook Air (2017) 【2021/06/17追記】
一部のコンテンツで、ルビのhtmに想定外の状態があったのに対応しました。具体的には、
のところでルビを閉じるカッコが全角になっている部分が青空文庫形式のルビ記号である「《》」に置換できなかったのを、全角でも半角でも対応できるようにしました。
ちなみにhtmlのルビ仕様としては、このカッコはルビ非対応ブラウザにおける代替文字なので、全角だろうが半角だろうが問題ありません。しかし、narou2az.pyでは半角決め打ちになっており、ビューワアプリで次のように表示が乱れていました。
「読書尚友」の表示例:

「読書家」の表示例:

1000話を超える作品に対応しました。アニメ化の近い「ティアムーン帝国物語」が楽しく続いていることへのリスペクトを込めて。 【2024/03/09追記】
リクエストヘッダを付加しました。(一般的には付加しておくところ、3/7の昼時点までは不要だったのですが、先ほど取得できなかったので対応。) 【2024/03/15追記】
サイトのリニューアルに伴って話数を示すキーワードが「部分」から「エピソード」に変わったことへ対応しました。 【2024/03/21追記】
「読書尚友」で読むときにルビ文字が乱れることへの対策を別記事に書き、スクリプトはGitHubへアップしました。 【2024/04/25追記】
htmlのルビ仕様でrbタグが非推奨になったことにサイトが4/24頃に対応したようで、従来のコードではルビが認識できなくなっていました。また、rbタグが無いとBeautifulSoup4がルビをパースできず、ルビ文字が拾えなくなっていました。そこでルビについてはbs4でパースさせず、青空文庫形式のタグへ変換することにしました。
ここに直接書くとブラウザがタグ認識してしまうので、メモの図を添付します:

【2024/09/19追記】
「なろう」サイトの章・節タイトル、連番、本文のタグ仕様変更に対応しました。 【2025/01/02追記】
本文に「前書き」「後書き」が混ざり込んでいたのを除外しました(おそらく、2024年9月のタグ仕様変更時に混ざり込んでいました)。
参考:
HTMLソースの特定の要素を削除・置換 【BeautifulSoup】 - Qiita
| 固定リンク | 0
コメント