Watchaに記録したデータをスクレイピングでバックアップ

2020/06/23

【Python】 Scraping

t f B! P L

Watchaとは

映画やドラマなどのレビューをしたり、視聴したいものを登録したりできるサービス。
スマホのアプリやブラウザから、簡単に登録できて便利です。

用途としては、

  • 自分が視聴したコンテンツについて、評価をつけて記録とする
  • 他の人の書いたレビューを参考にする
  • として使っています。


    同様の記録アプリでは、「Filmarks」も有名ですが、
    映画のみで、ドラマとアニメが対応していないのが難点。

    バックアップはとれるのか?

    公式のサービスでは、そういった機能はない様でした(2020年6月現在)。

    何かの拍子で、せっかく記録してためておいたデータが消えるのは悲しいので、自分のアカウントに関するデータだけでも残しておきたいものです。


    そこでPythonでスクレイピングしてデータを残すことにしました。

    Pythonでスクレイピング

    Github

    こちらのレポジトリを参考にして下さい。

    ykohki/Watcha-Scraping - GitHub

    コード

    新規・初回のとき

    (続きはレポジトリで)


    次回以降(月に1回の更新を想定)

    (続きはレポジトリで)

    実行例

    新規・初回のとき

    # 映画
    python scripts/watcha_make_csv_new.py -j movie -p log/202006_movie_all.csv
    # テレビ
    python scripts/watcha_make_csv_new.py -j tv -p log/202006_tv_all.csv
    

    次回以降

    # yearmonthは、実行時の年月を指定
    # 映画
    python scripts/watcha_diff.py -j movie -y 202007
    # テレビ
    python scripts/watcha_diff.py -j tv -y 202007
    

    できること

    上記のコードでできることは、

    毎月実行することで、内容を更新してバックアップが取れる

    先月分の記録から、差分を取り、追加タイトルがあれば更新してファイルを新規作成します。

    テレビと映画の両方の記録を取得

    --janreで「テレビ」か「映画」を指定できます。

    タイトルごと得られる内容

  • タイトル
  • リンク
  • 画像のリンク
  • 自分の評価
  • 自分のレビュー
  • ジャンル
  • 時間
  • 説明
  • お気に入り
  • これらを取得できます。
    レビューを書き込んでいなかったりなど取得できない箇所は空白で埋めています。

    CSV形式でデータを保存

    〜入力はサービスに頼って、管理はCSVで〜

    csvとして保存できてしまえば、あとは

  • 視聴日でソートしたり
  • 自分の評価でソートしたり
  • ジャンル別にまとめ直してみたり
  • 自分専用のオリジナルな視聴履歴が作れると思います。


    アプリを使う最大のメリットは、「検索がラクでヒットしやすい」ことです。
    映画を見る度に、自分でスプレッドシートに都度情報を入力していた頃もありますが、その手間がないのはすごく良いです。

    (検索の1例)


    アプリでの自分の記録したデータの「見え方」には好みがあり、それをアプリ内でカスタマイズするのは難しいので、テキストデータとして取り出してしまえば、扱いやすくなります。
    バックアップすることがメインですが、それだけにとどまらず、いろんな使い道があるのではと感じています。


    アプリでもWebのサービスでも、自分のやりたいことがちょっとでもラクになるものは積極的に取り入れていきたい、というのが今回の感想です。


    記事の感想をリアクションでお願いします!

    QooQ