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したらいいのかな。