« 朝の散歩時の、色々な畑の様子 | トップページ | 各サイトの花粉情報提供は終了していた »

2017年6月16日 (金)

Python: WEB小説のデータ取得スクリプト PyBookGet 更新 V107_0

2017-06-16(金)曇り/晴れ

 「小説家になろう」サイトからWEB小説のテキストを纏めてダウンロードするスクリプト「PyBookGet」を更新しました。これも、自分で使っているからと変更を行い、忘れないように記事にしておくものです。
 変更内容は、大きくいうと2点です。
 (1)連載が1000回以上になったもののために、ファイル名に入れる連番を4桁化しました。
 (2)連載毎の各テキストから、固定フレーズ以降の文章を削除する機能を入れました。

(1)は連載毎のテキストファイルとしてダウンロードするモードの場合の、ファイル名に入れる連番の桁数です。現実的には使用しなくなったモードですが、機能が入っているので修正しておくことにしました。修正しなくても、ファイル名としておかしくなることはありません。ただ、001~999、1000、、、と3桁から4桁になるだけです。この場合、嫌なのはファイル名ソートが期待値と変わることですね。

Scre000048a Scre000047a

 変更前だと左のように998や999の前に1000が来てしまいます。これは上位桁の文字からソートしてゆくのでやむを得ない順番です。
右は修正後のファイルの並びです。最初から4桁にしておけば問題ないわけです。5桁になったらどうするか?ですか。そんな長いのは今まで無かったし、あっても読まないですね。というか、マージしてファイルを纏めるモードしか使用していないですから、このモードは死にモードです。

(2)は、毎回記入されているような、たとえば「お読みいただきありがとう、、、、、、」というような文章から始まる追加文などを削除する機能です。連続で読んでゆくときには鬱陶しいので、削除する機能を入れました。
 固定フレーズから後ろの削除だけですが、サブルーチンの中を弄ることで簡単に変更できるので、後々のために入れておくことにしました。今まで、2タイトルに対して使用しました。

変更詳細(変更来歴から)
 ・連載が1000以上のときの対策として、ファイル連番を4桁化した。
  (個別ファイルモードのときのファイル名の連番を4桁にした。
   マージファイルの場合の、テキスト中に入れるテキスト連番は
   001--999、1000--で今までどおりとした。)
 ・モード3(html形式、マージファイル)のヘッダにcharset=UTF-8 を追加した。
 ・連載の各テキスト中から固定フレーズを削除する処理を呼べるように
  サブルーチンをコールするようにした。
 ・サブルーチンとして、固定フレーズの行以降を削除するルーチンを入れた。
  (固定フレーズはグローバル変数定義部分に記述する。)


-----------------------------------------------
モジュール
  「「PyBookGet_107_0.zip」
 

|

« 朝の散歩時の、色々な畑の様子 | トップページ | 各サイトの花粉情報提供は終了していた »

Python」カテゴリの記事

アプリケーション」カテゴリの記事

携帯電話」カテゴリの記事

書籍・雑誌」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/513620/65421501

この記事へのトラックバック一覧です: Python: WEB小説のデータ取得スクリプト PyBookGet 更新 V107_0:

« 朝の散歩時の、色々な畑の様子 | トップページ | 各サイトの花粉情報提供は終了していた »