2020/11/07(土)2020-11-07

おめざめ

0930軽く近所をお散歩してから朝ごはん。

まったり

コーヒーを淹れてドキュメントを読み漁る。今日はちょっとPythonに触れてみよう。

adiaryをpythonで操作する

adiaryにはver2ではメール投稿機能があったのだがver3になって無くなってしまった。仕方ないので何か投稿ツールをこさえるしかないのかな。今時こさえるならpythonだろうなぁ。という事でpythonを勉強してみようと思った感じで。

pythonでhttpを扱う

どうやらいくつかの方法があるらしい。その中で標準的なのはrequestsかしら。という事でrequestsを使ってみよう

簡単にテスト

チュートリアルに忠実に行きましょうね。まずはサイトにアクセスしてみよう。

>>> import requests
>>> r = requests.get('https://keruru.1974.jp/')
>>> print(r.text)

なるほど、これだけでhtmlを持ってこれました。ちょっと手続きは要るけれどもcurl並みに簡単そう。さてそれではログインしてみようかな。ログインは「/diary/?login」だな。methodを見るとどうやらpostで送るっぽい。

>>> import requests
>>> login_data = { 'id': 'USERID' , 'pass': 'PASSWORD' , 'action': 'login' }
>>> r = requests.post('https://keruru.1974.jp/diary/?login', data=login_data)
>>> print(r.text)

さてどうだ?....なるほど、cookieが必要なのか。ブラウザで試しにログインしてcookieを確認してみると、確かにsessionと言うcookieが保存されている。当然requestsモジュールでもcookieはあつかえるのでちょこっと編集する

>>> import requests
>>> login_data = { 'id': 'USERID' , 'pass': 'PASSWORD' , 'action': 'login' }
>>> s = requests.Session()
>>> r = s.post('https://keruru.1974.jp/diary/?login', data=login_data)
>>> print(r.text)

よしよし。requests.Sessionを宣言してpostで用いる。これでよし。これで出力されるhtmlの中に「書く」などの編集画面へのリンクが含まれるようになった。ログイン成功だ。

気をよくしてそのままじゃあ編集画面までいっちゃうぜ!

>>> import requests
>>> login_data = { 'id': 'USERID' , 'pass': 'PASSWORD' , 'action': 'login' }
>>> s = requests.Session()
>>> r = s.post('https://keruru.1974.jp/diary/?login', data=login_data)
>>> r = s.get('https://keruru.1974.jp/diary/?edit)
>>> print(r.text)

ヨシ。編集画面も表示された。あとはテキストを流し込んでpostしたらいいのかな。