Slide 1

Slide 1 text

Webスクレイピングをしよう 授業変更情報BOTの作成

Slide 2

Slide 2 text

自己紹介 ¡ SIGMA(@SIGMA_tkn) ¡ 苫小牧高専 情報系3年 ¡ ロボットテクノロジー部(いわゆるロボコン部) ¡ Pythonで画像解析 ¡ 1年生にC言語の講習 ¡ 初めてのLT(がんばります)

Slide 3

Slide 3 text

初めてなので…

Slide 4

Slide 4 text

¡Webスクレイピングとは?

Slide 5

Slide 5 text

Webスクレイピングを一言で ¡ サイトから情報を抜き出す処理

Slide 6

Slide 6 text

スクレイピングの実用例 ¡ 天気予報のサイトからその日の天気を取り出す ¡ JRのサイトから運行情報を取り出す ¡ ニュースサイトからニュースを取り出す ¡ etc…

Slide 7

Slide 7 text

注意点 ¡ サイトによってはスクレイピングを禁止しているの もある ¡ 代表的なものとしてはTwitter

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

スクレイピングを利用して… ¡ 苫小牧高専のHPから授業変更を抜き出してみた

Slide 10

Slide 10 text

きっかけ ¡ ある日、たまたま授業変更を見忘れた

Slide 11

Slide 11 text

きっかけ 僕「まぁどうせ授業変更なんてないでしょ〜(フラグ)」

Slide 12

Slide 12 text

フラグ回収

Slide 13

Slide 13 text

No content

Slide 14

Slide 14 text

使うライブラリ(Pythonを用いる) ¡ Requests →Webサイトの情報を取得する ¡ BeautifulSoup →Webサイトを解析する

Slide 15

Slide 15 text

No content

Slide 16

Slide 16 text

基本的には… ¡ requests.getにURLを渡し、BeautifulSoupでパース処理 ¡ あとはテキスト属性のみ取り出して必要な情報のみ抜き 出したり、整形するなど

Slide 17

Slide 17 text

No content

Slide 18

Slide 18 text

苫小牧高専HPの授業変更情報(自分のクラス)の データを取得する ↓ パースする ↓ タグのみ抜き出す ↓ 「科目名」というキーワードがあれば授業変更を探索、 テキスト属性のみ抜き出す ↓ 出力

Slide 19

Slide 19 text

実行結果

Slide 20

Slide 20 text

ラズパイのcrontabを用いて毎日、定時に実行 授業変更は毎日見たいので…

Slide 21

Slide 21 text

さらにクラスの人たちにも共有するために… 実行結果をクラスのSlackに出力

Slide 22

Slide 22 text

No content

Slide 23

Slide 23 text

まとめ ¡ スクレイピングは簡単にできる ¡ 毎日、サイトを訪れる手間が省ける ¡ 他の人たちも見るような情報はSlackなどに流すと喜ばれ る ¡ スクレイピングは素晴らしい!

Slide 24

Slide 24 text

ありがとうございました!