LoginSignup
5
3

More than 3 years have passed since last update.

金曜ロードショーで放送予定の映画タイトルを表示してみた(Pythonista 3)

Last updated at Posted at 2020-02-09

1.はじめに

週末の楽しみといえば、金曜ロードショー!
でも、金曜当日に特に興味ない映画だと発覚した時の残念感。。。あの気持ちになりたくないw
公式HPを見れば万事解決だけど、いちいち開くのがめんどくさい!
ワンボタンで確認できるようにしたいなー。。。

なら作ってしまおう。
最近、Pythonistaというものを知ったので、勉強がてらに作ってみました。

2.開発環境

  • ios 13.3.1
  • Pythonista 3

3.処理手順

下記の手順をPythonistaで達成するようにしました。

  • 金曜ロードショーの公式サイトにアクセス
  • 作品ラインナップから「今後の放送ラインナップ」の映画の日時、タイトルを取得
  • 取得した日時、タイトルを表示
  • 任意で、金曜ロードショーの公式ページを開けるようにする

4.処理詳細

まずは、必要なものをimportする。
console:「はい/いいえ」の画面をつかうのに使用
webbrowser:指定したサイトを開くのに使用
requests:指定したURLの情報を取得するのに使用
BeautifulSoup:スクレイピングに使用

import console
import webbrowser
import requests
from bs4 import BeautifulSoup

金曜ロードショーのラインナップの情報を取得します。
※ラインナップの情報は、下図の赤枠内の放送日、タイトルです。
IMG_2680.PNG

取得した放送日、タイトルは辞書にし、lineup_listリストに格納します。
※BeautifulSoup関連の説明は省きますm( _ _ )m

req = requests.get('https://kinro.ntv.co.jp/lineup')
soup = BeautifulSoup(req.text, 'html.parser')

lineup_text = soup.find(attrs={'id': 'after_lineup'})

cap_list = lineup_text.find_all(attrs={'class': 'cap'})

lineup_list = [{
        'Date': cap.find(attrs={'class': 'date'}).get_text(),
        'Title': cap.find(attrs={'class': 'title'}).get_text()
    } for cap in cap_list]

lineup_list リストに格納されている放送日、タイトルを文字列に変換します。

display_text = ''

for lineup in lineup_list:
    lineup_text = '◆' + lineup['Date'] + '\n' + lineup['Title'] + '\n\n'
    display_text += lineup_text

作成した文字列を表示し、公式HPを開くかどうかの「はい/いいえ」のボタンを表示します。
「はい」を選択した場合は、公式HPを開きます。
「いいえ」を選択したときは、ホーム画面に戻ります

※ホーム画面に戻る処理をするためには、Launcherというアプリが必要になります。
 (もしかしたらもっと良い方法があるかもしれません。。。)
 この方法は、下記サイトで知ることができました。
 https://reliphone.jp/post-15249/

res = console.alert(display_text, 'サイトを開きますか?', 'はい', 'いいえ', hide_cancel_button=True)

if res == 1:
    webbrowser.open('https://kinro.ntv.co.jp')
else:
    webbrowser.open('launcher://homescreen')

実行するとこんな感じになります。
IMG_2678.PNG

「はい」を押すと次の画面に遷移します。
IMG_2679.PNG

次は、作成したスクリプトをボタン1つで実行できるようにします。

5.ワンボタンで起動できるようにする

Pythonistaには、ホーム画面にアイコンを配置できるのでそれを利用します。

作成したスクリプトを開いた状態で、右上のスパナマークをクリックし、Home Screenを押します。
IMG_2681.PNG

名前、色を自分好みに変更したら、Continueを押す。
IMG_2682.PNG

画面に表示されている手順に従う。
IMG_2683.PNG

下記画面のように、ホーム画面に追加されました!
IMG_2684.PNG

これで、晴れて金曜ロードショーがワンボタンで確認できるようになりました。

6.ソースコード

Gitにソースコードがあるので、良ければ参考に
https://github.com/sakagami0615/CheckFridayRoadshow

※Python3でも動作するソースも作成しました(main_python.py がそれです)

5
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
3