【Raspbery Pi】Webスクレイピングの作動をさせたい!〜自動化〜

f:id:kisokoji:20171106184002p:plain:h400
Raspberry Pi

Raspberry Pi

Raspberry Pi(ラズベリーパイ)とは、内蔵ハードディスクなどを搭載しない代わりに、電源やSDカードストレージを装着することによって使用できる、「ワンボードマイコン」と呼ばれるハードウェアです。

ってことです。

「ラズパイ」って言われてます。ほんとに小さいボードで箱に入っているものもあります。

f:id:kisokoji:20171106190349g:plain

私はピンクのケースにしてみました。やっぱり見た目からでしょ。

まずは準備から

購入してきて箱から出して電源をつないで通電確認をしてもモニタ、キーボード、マウスをセットしても私の知っている「コンピュータ」ではない。

そう、OSも入っていないような状態らしい。

なので、やることによるみたいだけど、8GBのマイクロSDを準備することから始める。

まずMacで公式サイトから「RASPBERRY PI DESKTOP」をダウンロードした。

ダウンロードしたらマイクロSDに書き込み。詳細は他のところで確認したほうがいいわ。1回で覚えきれなかった。

書き込みが終わったらラズパイにセットして電源をオン!

モニタに普通のOSのようにデスクトップ画面が表示される。

8GBのOSってすごい。

Raspberry Piの設定・・・何が何だかわからないうちに終わってしまった。

慣れるしかないでしょ。

あと、最初はなかなかSDカードの読み込みができなかったりしました。

sshでラズパイに入る

MacからRaspberry Piへ接続します。

$ ssh pi@192.168.XXX.XXX
pi@192.168.XXX.XXX's password: 

このパスワードってみんな共通なの?な感じですが成功すると

pi@raspberrypi:~ $ 

になりました。

pi@raspberrypi:~ $ python3
Python 3.5.3 (default, Jan 19 2017, 14:11:04) 
[GCC 6.3.0 20170124] on linux
Type "help", "copyright", "credits" or "license" for more information.

しかーし。コマンドラインだってね、知らないんだから私(逆ギレ状態)。

相方にAirDropでファイル渡して転送してもらってってかなり面倒なことをしておりましたが、「gitにすればいいんじゃない」ってことでgitもデビューしました。

gitを使ってみる

Git(ギット)は、プログラムのソースコードなどの変更履歴を記録・追跡するための分散型バージョン管理システムである。 Linuxカーネルのソースコード管理に用いるためにリーナス・トーバルズによって開発され、それ以降ほかの多くのプロジェクトで採用されている。

まぁバージョン管理システムは仕事で使ったことがありますが、Gitは経験なし。

で、GitHubって何?状態だったりするわけで。

GitHub(ギットハブ)は、このGitの仕組みを利用して、世界中の人々が自分の作品(プログラムコードやデザインデータなど)を保存、公開することができるようにしたウェブサービスの名称です。

ま、同じようなことを思っている人がまだ多数派ってことでいいのか?

GitHubはサービスなのね。でも、GitHubだとオープンソースになってしまうからそれは嫌だってことで違うサービスにしてみた。

Bitbucketで始める

Bitbucket で「無料で始める」で始めてみました。

日本語対応にもなってるのでダッシュボードとか使いやすそうです。

が、結局はgitコマンドを覚えなきゃなわけです。

忘れないようにしなきゃです。最初のところはもう忘れてます。どうやって連携したんだっけ?

gitコマンド

  • git status
    変更が加えられたファイルを表示する。

  • git add <追加/変更したファイル1> <追加/変更したファイル2> ...
    コミットするファイルを指定する。

  • git commit -m "<コミットメッセージ>" -mオプションでメッセージを入れないとエディタが起動する。(Viとかわからないエディタが起動するので要注意)

  • git push
    公開リポジトリに自分のリポジトリの内容を送信する。これをしなきゃ、他で見られない。

  • git pull
    他のリポジトリの変更点をローカルリポジトリにマージする。

gitコマンドたくさんあるのだけど、この動作があれば今のところは大丈夫っぽい。

自分だけの管理なので。仕事じゃ無理ですが。

cronに設定する

cron とは、ジョブ(スクリプト)を自動実行するためのデーモンプロセスです。 そして、Linux システムの管理を行なう場合、ログのローテートや、バックアップなど、定期的に自動実行したいジョブが数多くあります。

Raspberry Piで勝手に取りに行ってGoogle Driveに保存しておいて欲しいってことです。

Raspberry Piには既にあるらしいので設定を正しくしてあげたら大丈夫なはずということのようです。

まずテキストに設定を書きました。

書式: 分 時 日 月 曜日 コマンド
          30  12,18 23-24 11 * (cd 〜/mySite/myenv ; source ../bin/activate;python ryuou.py)

11月23日と24日の12時半と18時半に起動するような設定です。

Raspberry PiってことでMacとはGoogle Driveへのアクセスなどもかなり変わってました。

でも、これでプログラムが間違えてなければパソコンを常時持たずに棋譜をゲットできるのは大きいかな。

まぁ解析はできないけどね。

コマンドにログの書き出しの設定を付け加えておくと便利です。

>>/tmp/analog.log 2>>/tmp/analog-err.log
crontab -u pi -e

としてテキストに書いておいた内容を貼り付けて終了すると設定されるようです。

ってことで知恵熱出そうです。

放置したら何かあった時にきっと忘れてそうな気がします。