編集前記

"まとまる前の文章" を "まとめる前" の文章

チラシを撒き散らす話

twitterBotを作ったので、ログを残そうと思って。
別にちらしずしが大好物なわけでは(ry
chirashiとrawashiが似てたとかその程度の話。

つくったもの

  • ちらしずし
  • Twitter
  • GitHub
  • アイコンはいらすとやのちらしずしとヒラギノ明朝(だったかな)から f:id:Rawashi:20160517222715p:plain

なんでつくったか

  • ここ最近かなり貧困していて、そろそろ自炊生活に戻さないとなぁと思っていた
  • どうせ材料買うならと、カスミのHPでチラシをめくっていたが、それさえ面倒になってきた
  • twitterに流しておけば見やすいなぁって思った

なかみのはなし

  • おおまかな流れは、
    • electronでhtmlを拾ってきて
    • BeautifulSoup4でスクレイピングかけてpdfの在り処を特定
    • wgetでpdfを拾ってくる
    • ImageMagickでpdfをpngに変換
    • Tweepyで画像付きツイート
  • みたいな感じ。

おもってたよりアレだった

  • 作る前はそんなに面倒じゃないかなぁって考えていたけど甘かった。
  • 始めてから幾つかの点に気づく
    • どうやらカスミのHPから一度shufooAPIを叩いて、返ってきたhtmlからpdfデータの在り処を探さなければならないらしい。
    • abobeReaderの有無(?)か何かを判別して動的にhtmlを生成してるらしく、pythonから直に叩いてもshufooのurlが生成されず、うまくいかない。
  • 1つめに関してはスクレイピングを2回すればいいだけの話なので、大きな問題はなかった
  • 2つめは自分にはかなり厄介で、httpリクエストヘッダのuser-Agentとかをいじってみたけどどうにもならなかった
  • 苦肉の策で、chromium内蔵のelectronでwindowのないデスクトップアプリを作り、それでアクセスしてhtmlをローカルに引っ張ってきて、それをスクレイピングかけている

つくってみて

  • 面倒なところはあったけど深いバグ谷に落ちることなく1晩でなんとか書けた。
  • bs4はイケメン。
  • syncerのtwitterAPIの触り方(めっちゃ便利)読んで、"画像付きツイートってめっちゃめんどいやん"って思ったけど、tweepy先輩はupdate_with_media(filename,status,~~)でできちゃうのですごいなって。
    • イケメンなんだけど、1ツイートに複数枚画像乗っけられないっぽいので普通にhttpリクエスト投げることにした
  • ただ多重投稿しちゃった時にエラーステータス返すんじゃなくてアプリが落ちちゃうの、どうにかなんないかな。
  • やっぱりpython2を書かなければならない運命は存在するのでpython3がメジャーになる時代になってほしい。

こんご

  • マルモ学園店は実装済み(めっちゃ簡易なhtml構成で助かった)
  • ある程度のリファクタリングはいい感じになった。
  • 駅前のイオンとトライアルは取ってこれそうな雰囲気あるので、機会があれば。
  • 画質改善をどうにかしたい。
    • メディアアップロードの上限に引っかかってしまうので、どうにかして1枚を分割する方法を考えたい。
    • 階層クラスタリング使っていい感じに大枠を認識するとかの案があるけど面倒そう。
  • 営業時間お知らせとかはすぐ出来そう。
  • 特売情報とかは手動になっちゃうかなぁ。
    • 自分用に作った側面が大きいのであんまり手がかかるならやりたくない
  • たまに寿司を散らすツイートをしたい。
  • "ちずずらし" ってちらしずしの空目しそうなのでエイプリルフールネタにアリかもしれない。

おわり。markdownは箇条書きじゃないと書けない病に罹患しているのかもしれない。

追記