アプリケーション

2017年10月14日 (土)

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

2017-10-14(土)雨/曇り、ちょっと寒い

  「小説家になろう」サイトからWEB小説のテキストを纏めてダウンロードするスクリプト「PyBookGet」を更新しました。これも、自分で使っているからと変更を行い、忘れないように記事にしておくものです。

変更内容:
 ・URLがhttpsのサイトのためにPython 2.0.0 を使用したときに、画面の表示更新が
  遅れるのを対策した(メッセージ表示処理にe32.ao_yield() を追加した)。
 ・<div id="novel_a"~</div>および <div id="novel_p"~</div> で記述された作者
  のコメント部分を削除するようにした。

 連載を纏めてダウンロードしたときに、各回毎などに記入されている作者のコメントを手で削除していました。作者の謝辞などが記載されているのですが、連載小説として続けて読んでゆくときには、毎回ごとに記入されていると面倒に感じます。
 ということで、今までは手で削除してましたが、スクリプト内に削除する処理を追加しました。

Webnovelgamen1

 ブラウザで見ると上図の下部の部分のように二重線で区分されているコメントは、実際に二重線が入っているわけではなく "<div " タグで区分されているテキストです。PDF変換して読むためにテキストファイルに変換すると、HTMLタグがなくなるので、本文と区別がつかなくなります。そこで、"<div "タグで記述されたコメントのテキストを削除するようにしました。

 これで、数十個とか二百個にちかい連載部分から一つずつ削除する必要がなくなり楽になりました。
 
----------------------------------------------------
 モジュール
     「PyBookGet_109_0.zip」
 
 参考記事場所 「Python スクリプト雑記」  PyBookGet 
 

| | コメント (0) | トラックバック (0)

2017年9月30日 (土)

Python: WEB小説のデータ取得スクリプト PyBookGet 使用上の注意が必要になった

2017-09-30(土)曇り

 WEB小説(基本的に「小説家になろう」サイトの小説ですが)は、読みやすくするために、テキストを纏めてダウンロードしてから読んでいます。ダウンロードして、縦書きPDFにしてブックリーダで読みます。縦書きの方が読みやすいですし、持ち歩いて読むにも、タブレットよりブックリーダの方がバッテリーの心配がないからです。ダウンロードにはPythonスクリプトの PyBookGet を使用しています。

 さて、28日の日に新たにダウンロードしようとしたら PyBookGet が動きません。真っ先に思ったのは、サイトの変更があって PyBookGet が、とうとう使えなくなったのかなと思いました。慌てて「小説家になろう」サイトのお知らせみたいな項目を見たら、28日にセキュリティ関連のメンテナンスがあったようで、普通にアクセスすると url が https になりました(今までは http でした)。但し、意図的に http にすると、それでも表示はされるようです。

 今まで PyBookGet は、各種理由から Python for S60 V.1.4.5 環境で使用していました。このバージョンは SSL 通信には対応していません。このため、新たにダウンロードしようとした小説の url が https だったことからエラーになったようです。

 ということで、 (小説家になろうサイトで)PyBookGet を使用する際には注意事項が必要になりました。

(1)ダウンロードする小説の url が https のままで使用する場合は下記の条件が
  必要です。
   ・Nokia携帯電話のOSが S60 5th のものを使用する。
   ・Python 2.0.0 で使用する。

(2)Python 1.4.5 で使用する場合は、ダウンロードを指定する PyBookGet.dat の
  中に書き込む url を https から http に書きかえて使用する。
  この場合は Nokia S60 3rd の携帯電話でも使用可能のはず(未確認)。

 以上のような条件になりました。いずれ、http では駄目になるのかな。そうすると、使用できる手持ちの携帯電話が大分限られるようになります。
 なんとか、ダウンロードできることが確認できて、ほっとしました。1話ずつ手動コピーは大変ですからね、、、。

--------------------------------------------------------
 
テスト結果メモ S60 5th 機種 (Nokia E7-00 / Nokia  5800XM)

Python Ver  url ダウンロード結果
1.4.5  http OK
1.4.5  https ×(エラーダウン)
2.0.0  http OK 若干遅い
2.0.0  https OK かなり遅い

 

| | コメント (0) | トラックバック (0)

2017年8月29日 (火)

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

2017-08-29(火)晴れ/曇り

 「小説家になろう」サイトからWEB小説のテキストを纏めてダウンロードするスクリプト「PyBookGet」を更新しました。これも、自分で使っているからと変更を行い、忘れないように記事にしておくものです。

変更内容:
 「小説家になろう」サイトの画面変更があり、テキストデータ取り出しエラーになるため対応しました。具体的にはテキストデータの最後を検出する語を変更しました。
  (前の話/次の話  → 前へ/次へ)

 先日、久しぶりにダウンロードしようとしたらエラーになって動きませんでした。なかなか原因が分からないので、例によってスクリプト内に print 文でトレースポイントを設定してテストしたら、、、サイトの画面が少し変更になっていて、テキスト部分の切りだしがエラーになっていました。即ち、小説テキストの最後を検出するのに使用していた語句が変更になっていたため検出できず検出エラーになっていました。
 余りスマートな処理のスクリプトではありませんが、自分の役に立っているから良いかなと思っています。

----------------------------------------------------
 モジュール
   「PyBookGet_108_0.zip」
 
 参考記事場所 「Python スクリプト雑記」 PyBookGet  

| | コメント (0) | トラックバック (0)

2017年8月18日 (金)

空き携帯電話をゲーム専用にしてみた (続)

2017-08-18(金)少し晴れ、のち曇り、夜に雨

 先日、空き携帯電話をゲーム専用にしてみたことを書きました」
  「空き携帯電話をゲーム専用にしてみた

 その後、色々なゲームを漁ってみました。Nokia関連サイトは既に有りませんが、過去にそこで入手した物はハードディスクに保管してありますし、今でもダウンロードできるサイトとかも有りますから、ゲームそのものは色々あります。カードマッチング(神経衰弱ゲーム?)、reversiを入れてみました。

S95s0002a(Card Matching)

 8*5=40枚(絵は2枚一組なので20組)の絵札を裏返しにしてプレイします。トランプでやる一人神経衰弱ですね。暗い?/根暗遊びの代名詞になっていますが、、。
 まあ、待ち時間の時間つぶしには良いかもしれません。


S95s0003a(Reversi)

 持ち歩く携帯電話には良いかなと思ったのですが、こういう対戦ゲームは機械相手にやっても面白くないですね。ただ、アプリだとレベル設定も出来るし、練習には最適かもしれません。対戦ゲームを面白く遊ぶには、人間相手がいいようです。
 ということで、今のところ Free Flight でのんびりと飛行機を飛ばしているのが一番気に入っています。ただ、ジェット戦闘機はいまだに着陸できていません。着陸失敗、クラッシュしています。
 

| | コメント (0) | トラックバック (0)

2017年8月 5日 (土)

Nokia E7-00でLunar Calendar 、、一つの弱点

2017-08-05(土)曇り/晴れ

 昨日、Nokia E7-00に LUNAR CALENDAR を入れて使っている記事を書きました。E7-00でも使えているのですが、一つだけ他の機種に比べて弱点があります。それは、Lunar Festivals や Solar Items の一覧で日付が表示出来ないことです。

Ssce0149   Scre000056a
  E52の画面            E7-00の画面
  ↑(昔の記事の画像)

 上の画像の例のように、E7-00では日付の数字が表示されません。まあ、元々はOSが S40 の頃のアプリのようなので、若干の動きの相違はあるかもしれません。

Scre000057a

 上のリスト画面では日付は出ませんが、リストの各行をクリックして個別の項目を表示させると日付も出ますので、まあ良いかなと思っています。
 

| | コメント (0) | トラックバック (0)

2017年8月 4日 (金)

Nokia E7-00にLunar Calendar を入れてみた

2017-08-04(金)曇り/晴れ

 ここ数年のカレンダーを考えてみると、日付だけとかいうものも多くなっています。色々なところから戴くカレンダーを使っていますが、最近ふうの洒落たカレンダーは特にそうです。六曜とか節気とか旧暦日付などは記載されていません。今では六曜などは使うことがないのですが(気にするとしたら、あとは葬式のときとか?ですが、自分のは自分で気にすることはないしなあ、、)、節気の日付とか旧暦日付などはみたいときもあります。携帯電話のWEBブラウザでカレンダーサイトを見ても良いのですが、もっと簡単にみたいときもあります。

 ということで、以前の携帯電話に入れていた「Lunar Calendar」をE7-00に入れてみました。JAVAアプリなので動くのですが、元は(多分)176*208の画面の携帯電話用らしく、その後の画面サイズだと表示がうまくないときがあります。文字が重なったりするのですね。で、以前 Nokia E60のときに画面サイズ指定を変更してインストールした方法を採用してみました。
 以前の記事 「E60 Lunar Calendar」 (Javaアプリの画面サイズ指定の方法など)
 因みにNokia 携帯電話の画面サイズは、私の知る限りの機種では下記の範囲でしょうか。
  176*208 (古い機種)
  240*320 (一番多い)
  352*416 (E60)
  640*480 (非常に少ない、フルキーボードタイプ)
  360*640 (タッチ画面タイプ)

 さて、Nokia E7-00は360*640タイプなので、色々な指定数値でインストールしてみました、画面サイズ指定方法は上のリンクの記事の通りです。
 下の画像はそれぞれの指定でインストールしたときの画像ですが、指定の数字の表示は次のように表示しています。
 例: 176*208 -- 240*320 の表示は
     オリジナル画面サイズ指定 176*208
     ターゲット画面サイズ指定  240*320 の意味です。

Scre000049a   Scre000050a
  176*208 -- 240*320        240*320 -- 360*640



Scre000051a   Scre000052a
  176*208 -- 360*640       210*280 -- 360*640
  194*230 -- 360*640       210*280 -- 360*760
                                        210*280 -- 360*580

 これでみると、1番目、2番目は文字が重なったり、最下段の数字が切れています。3番目が本来の画面数字なので綺麗に表示されますが、文字が小さいです。4番目は最下段の数字が若干切れますが、概ね許容範囲かもしれません。取り合えずは「194*230 -- 360*640」でインストールしました。これで、ある程度の参照は出来るようになりました。

注意:このアプリを使用したとき、春分と秋分の日付は1日ずれることがありますので要注意です。理由は、このアプリが中国製のため、現地時間での日付が日本ではないからだと思います。
 
 

| | コメント (0) | トラックバック (0)

2017年7月15日 (土)

Python: 睡眠導入器スクリプト PyRainDrop を更新した V_101_0

2017-07-15(土)晴れ

 睡眠導入器と題するPythonスクリプト PyRainDrop を、Nokia E7-00でも動くように更新しました。

 作成したが実用にすることはなかった睡眠導入器ですが、元は50年以上前の子供向け(中学生向けくらいかな)の科学雑誌に掲載された電気回路でした。(名称は記憶になかったので、スクリプトで作成する際に付けたものです)。睡眠導入器とは、、夜、なかなか眠りに入れないときに使うもので、ヒツジが一匹、ヒツジが二匹、、的なものです。
 具体的に言うと、ポツっ、ポツっ、という雨だれに近い音を、ぼんやりと聴いていると眠くなるので、そういう音を出す電気回路を作る記事でした。
機能:「ポツっ、ポツっ、という音を出し、徐々に間隔が長くなり、徐々に音が小さくなります。ある時間経つと音が出なくなります。この間に、眠りにつこうというものです。」
 スクリプトで作成時の説明記事 「睡眠導入器をPythonで作る

 PyRainDropはこの機能をスクリプトで実施するものです。
 機能:「雨だれ(単発)の音を、間隔をおいて再生します。段々、間隔を長くし、音を小さくし、一定時間後に終了させます。」
 ただ、それだけの動作です。

 実用にはしていなかったのですが、Nokia E7-00 で動かなかったので、気がついたときに修正しておくことにしたものです。
変更概要:
 ・E7-00に対応させた。
  (音量指定範囲を1~10とし、音量指定値10を各機種のmax_volume()の値に
   割り付けるようにした)。
 ・Python 2.0.0 での対策を入れた。
  (setdefaultencoding)
 ・E:\Python\Libのパス挿入が複数にならないよう改良した。

--------------------------------------------
  「PyRainDrop_1_01_0.zip」

--------------------------------------------
 

| | コメント (0) | トラックバック (0)

2017年7月13日 (木)

Python: メトロノームアプリ Musician_mを更新 V3_4

2017-07-13(木)晴れ/曇り、いちじ小雨

 Nokia 携帯電話用の、Pythonによるメトロノームアプリ Musician_mを V3_4 に更新しました。 この Musician_m というのは Musician というメトロノーム スクリプトに触発されて、Musicianを自分用に改良したものです。 Musician はオープンソースなので、差分記述にして、上記WEBサイトにフィードバックすればいいのですが、手を加えすぎてしまったので自分用としてMusician_m としています。

  Musician_m 作成に関しては、下記のリンクに関連記事があります。
   「Python スクリプト 雑記」の  「42.メトロノームアプリ Musician_m
--------
 Musician という Python スクリプトはメトロノームのスクリプトです。オリジナルは Steve Litchfield 氏の作で、下記にあります。
   Musician:http://stevelitchfield.com/musician.htm
--------

 今回の変更のメインは、E7-00などのタッチ画面携帯電話(画面サイズの大きい携帯電話)に対応させました。
変更の詳細内容は
 ・E7-00に対応させた。
  (音量指定範囲を1~10とし、音量指定値10を各機種のmax_volume()の値に
   割り付けるようにした)。
 ・E7-00画面サイズのPianoキー画像を追加した。
 ・Python 2.0.0 での対策を入れた。
  (setdefaultencoding)
 ・E:\Python\Libのパス挿入が複数にならないよう改良した。

モジュールや詳細は下記にリンク先をを記述しています。
  「Python スクリプト 雑記」 の 「42.メトロノームアプリ Musician_m

 

| | コメント (0) | トラックバック (0)

2017年6月21日 (水)

Python:ノートデータベース PyNotePad とPyNoteNdb 更新 V.005_0

2017-06-21(水)雨(午後半ばまでは激しい雨だった)

 昨日の PyShopper に続いて、ノートデータベース PyNotePad と PyNoteNdb をE7-00でのスライドスクロールに対応させる変更を入れました。これも、リスト最後の項目まではスライドスクロールさせられないという同じ制限がありますが、メニューの「Goto Top /Goto End」で移動させる事にします。

ノートデータベース PyNotePad とPyNoteNdb を V.005_0 に更新しました。
 主な変更点は下記の2点です。
   ・Nokia E7-00 でスライドスクロールが使用できるようにた。
   ・Python 2.0.0 への対策を入れた。

取りあえずは、E7-00でも、キーボードを出さずに使用することができるようになりました。

モジュールは例によって 「Python スクリプト 雑記」 の
 「4.ノートデータベース PyNoteNdb」、「5.ノートデータベース PyNotePad」に載せました。
 

| | コメント (0) | トラックバック (0)

2017年6月20日 (火)

Python: ショッピングリスト PyShopper を更新しました V_002_0

2017-06-20(火)晴れ

 暫く前から Nokia E7-00 を持ち歩いて使っています。通話用の携帯電話は別の小型の携帯電話を使用しているので、 Nokia E7-00は、PDAとしての使い方です。

Dscn2306a
(ブックカバー型のケースを使用してみました)

 大きくて重いのですが、セキュアなWEBサイトもアクセス出来ること、繁体中国語の手書き入力だと日本語の入力も簡単なので、E52に替えて、こちらを持ち歩いています。
 そこで、良く利用するPython スクリプトのリスト画面で、スライドスクロール(画面で指をスライドさせてスクロールさせる)が使用できるように対策を入れつつあります。暫く前にPyMyShellなどの簡単なスクリプトは変更したのですが、PyShopperとかPyNoteNdb、PyNotePadなどの、データベースを使用するスクリプトは保留にしていました。それは、下記のような理由でした。
==
 スライドスクロールでスクロールさせた場合、リストの最後の項目が表示できない制限がある(カーソルキーで移動させた場合は表示できる)。以前の簡単なリストのスクリプトでは、最後にダミー項目を入れることで対策した。しかし、データベースを使うスクリプトでは、迂闊にリストに追加すると、データベースアクセスをおかしくしてしまうかもしれない(スクリプトの詳細を忘れているので、迂闊なところは触れないというのが本音かも)。
==
 ということで、リストそのものは触らず、スクロールを有効にする対策だけ入れることにしました。最後の項目へ移動させるのは、メニューに「Goto Top/Goto End」を追加することで可能にしました。

 PyMyShopper をV002_0に更新しました。
主な変更点は下記の2点です。
   ・Nokia E7-00 でスライドスクロールが使用できるようにた。
   ・Python 2.0.0 への対策を入れた。

 これで、食品の買いものに、E7-00のショッピングリストを簡単に使用することができるようになりました。

 モジュールは例によって 「Python スクリプト 雑記」 の
                 「10.ショッピングリスト」  に載せました。
 


| | コメント (0) | トラックバック (0)

より以前の記事一覧