飲酒プログラミング Advent Calendar 2019

はじめに

この記事は、「飲酒プログラミング Advent Calendar 2019」の12/22の回のログです。

f:id:ryook:20191222212822p:plain

と書いたのに、21時くらいに気づきました。 すでにワインが一本空きそうなタイミングでしたので、ストロングゼロロング缶追加のため寒空の下コンビニにダッシュします。 なぜストロングゼロロング缶なのかというと、今日有馬記念中山競馬場に初めていったのですが、勝手なイメージ競馬場におじさんが持ってるストロングゼロを買っていくのを忘れたからです。

なにやるか

前々からくそほど酔っぱらた状態でも何の日本酒を飲んだかメモできるアプリがほしいと思っていて、知人ともそういう話をしていました。 とりあえずは画像検索かな?という話をしていたので、学習データになる画像を集めることからはじめます。 数年前にスクレイピングやったことがあったのですがhtml構造が変わっていたりしてうまくできなかったのでそこの修正をします。

学習データを集めて、画像検索までやってみるみたいなことをアドベントカレンダー登録時に考えていましたが、普通に無理なのでスクレイピングinstagramで画像を集めるということに挑戦します

instagramスクレイピング

実はinstagramスクレイピングは結構面倒です。 楽をするにはinstagramAPIを使ったviewerサービスを使うといいです。 ここでは具体的なサービス名を書きませんが、ググるとでてくるので見つかったやつを使うといいと思います。 いくつか確認していますが、割とシンプルなhtml構造なので本家を対象とするより圧倒的に楽ができます。

スクレイピングについて

言語はpythonを使います。 pythonスクレイピングをするには

  1. scrapyを使う
  2. requests & beautifulsoupを使う
  3. selenium使う
  4. その他

等いくつかありますが、今回は2のrequests & beautifulsoupを使う方法でやります。

ログ

スクリプト修正

数年前に書いていたやつをhtml修正します。 1hちょっと格闘して完了。

リファクタ

だらだらと書いていたスクリプトをimportで関数呼び出せるように修正。

memo

なんか有意義なことめもしようと思ったけど、無理。 スクレイピングネタは書かないほうがいいだろうなということが多いのでブログには向かない気がする。