プログラマ行進曲第二章

主にソフトウェア関連の技術をネタにした記事を執筆するためのブログ

BitbucketにPythonで書いたニコニコ動画ライブラリ(未完成)を公開しました

以前の記事で、ニコニコ動画のライブラリをPythonでゆっくり書いていることを言いましたが、やっと最近バージョン管理システム(Mercurial)を使うようになったので、いい機会だからBitbucketに公開しました。下のリンクがそのBitbucket上のリポジトリです。

https://bitbucket.org/takuan_osho/pynico

私が書いたニコニコ動画ライブラリはプログラミング初心者が書いたコードのため、設計がおかしかったり定石から外れた実装をしている疑いが強いので、使うのは自己責任で。特に生パスワードを書くことになるので、(https経由とは言え)セキュリティに問題があることが十分予想されます。

何より未完成品ですので、実用に使うというよりかは「プログラミング初心者もここまで書けるようになったよ」という記録を残すという意味合いが強いです。

何でGithubでなくてBitbucketに公開したのかと言うことに関しては以前書いた記事を見てもらえれば分かるかと。

個人的に嬉しかったのは、実際にニコニコ動画から動画をダウンロードできたこと。今まで「動画や画像を保存する」という処理と「ファイルを読み書きする」という行為が頭の中で結びついていなかったので、実際に動画の形式でファイルができた時は目から鱗が落ちるようでした。

…と偉そうなことを書きましたが、プログラミング初心者の私としては当然のことながら、このライブラリを自作していく際は私一人の力では出来ませんでした。ニコニコ動画の非公式APIを使ってPythonプログラムを書いてきた先達の方達がネットに残してくれた記事がなければここまで書けなかったと思います。以下が今回私が参考にした主な記事です。他にもあったはずなのですが、手元に残っていないようなので以下の記事だけになります。

Pythonで書かれた記事を主に読んでいましたが、Pythonで書いている人が思いの外少なかったので*1PerlやらRubyやらで書かれた情報も参考にしてみました。コードはほとんど読めませんでしたが、「ログインするにはどうしたらいいか?」といった考え方は非常に参考になったので、同じように紹介致します。

書いた後で気になっていることといえば、「(コーディング能力がないからか)紹介した記事を参考にしていたら、ほとんど同じコードしか書いていない箇所がある」ということ。参考にしたコードの中にはライセンス(GPLなど)が書かれているものもあり、「全く同じコードになっている箇所が一カ所でもあれば、参考にしたコードのライセンスに添って何か処理しないと行けないのか?」という悩みも出来ました。どなたかソフトウェアライセンスに詳しい方がいらっしゃいましたらご教授いただきたく思います。

あ、勿論、「こんなソースコードじゃダメだ!ここはこう書かないとダメだろ!」などのダメ出しがありましたらドシドシ言ってください。自分でも汚いコードだと自覚はしているのですが、どこをどう直したらいいのか分からなくなっている部分もありますので。

一応それなりには書けたはずなので、これからは新機能を作るよりもコードを綺麗にリファクタリングするとか異常入力を適切に処理するようにエラー処理をまともに実装するといったことを優先して書いてみようかと思います。今のまま書いているとバグの温床になってしまいそうで怖いんですよね。

*1:というより、少なかったからこのライブラリを自分で書いてみようと思った、というのが本当のところです。