Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Webスクレイピングをしよう
Search
SIGMA1425
January 18, 2020
Programming
0
440
Webスクレイピングをしよう
SIGMA1425
January 18, 2020
Tweet
Share
Other Decks in Programming
See All in Programming
gunshi
kazupon
1
120
Denoのセキュリティに関する仕組みの紹介 (toranoana.deno #23)
uki00a
0
160
LLMで複雑な検索条件アセットから脱却する!! 生成的検索インタフェースの設計論
po3rin
4
970
令和最新版Android Studioで化石デバイス向けアプリを作る
arkw
0
440
AI Agent Tool のためのバックエンドアーキテクチャを考える #encraft
izumin5210
4
1.2k
[AtCoder Conference 2025] LLMを使った業務AHCの上⼿な解き⽅
terryu16
6
730
新卒エンジニアのプルリクエスト with AI駆動
fukunaga2025
0
230
生成AI時代を勝ち抜くエンジニア組織マネジメント
coconala_engineer
0
7k
マスタデータ問題、マイクロサービスでどう解くか
kts
0
130
ゲームの物理 剛体編
fadis
0
370
DevFest Android in Korea 2025 - 개발자 커뮤니티를 통해 얻는 가치
wisemuji
0
170
ZJIT: The Ruby 4 JIT Compiler / Ruby Release 30th Anniversary Party
k0kubun
1
280
Featured
See All Featured
Reflections from 52 weeks, 52 projects
jeffersonlam
355
21k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.1k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
0
950
The Curious Case for Waylosing
cassininazir
0
190
Building an army of robots
kneath
306
46k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
94
Agile that works and the tools we love
rasmusluckow
331
21k
Highjacked: Video Game Concept Design
rkendrick25
PRO
0
250
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
190
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.3k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.3k
Transcript
Webスクレイピングをしよう 授業変更情報BOTの作成
自己紹介 ¡ SIGMA(@SIGMA_tkn) ¡ 苫小牧高専 情報系3年 ¡ ロボットテクノロジー部(いわゆるロボコン部) ¡ Pythonで画像解析
¡ 1年生にC言語の講習 ¡ 初めてのLT(がんばります)
初めてなので…
¡Webスクレイピングとは?
Webスクレイピングを一言で ¡ サイトから情報を抜き出す処理
スクレイピングの実用例 ¡ 天気予報のサイトからその日の天気を取り出す ¡ JRのサイトから運行情報を取り出す ¡ ニュースサイトからニュースを取り出す ¡ etc…
注意点 ¡ サイトによってはスクレイピングを禁止しているの もある ¡ 代表的なものとしてはTwitter
None
スクレイピングを利用して… ¡ 苫小牧高専のHPから授業変更を抜き出してみた
きっかけ ¡ ある日、たまたま授業変更を見忘れた
きっかけ 僕「まぁどうせ授業変更なんてないでしょ〜(フラグ)」
フラグ回収
None
使うライブラリ(Pythonを用いる) ¡ Requests →Webサイトの情報を取得する ¡ BeautifulSoup →Webサイトを解析する
None
基本的には… ¡ requests.getにURLを渡し、BeautifulSoupでパース処理 ¡ あとはテキスト属性のみ取り出して必要な情報のみ抜き 出したり、整形するなど
None
苫小牧高専HPの授業変更情報(自分のクラス)の データを取得する ↓ パースする ↓ <td>タグのみ抜き出す ↓ 「科目名」というキーワードがあれば授業変更を探索、 テキスト属性のみ抜き出す ↓
出力
実行結果
ラズパイのcrontabを用いて毎日、定時に実行 授業変更は毎日見たいので…
さらにクラスの人たちにも共有するために… 実行結果をクラスのSlackに出力
None
まとめ ¡ スクレイピングは簡単にできる ¡ 毎日、サイトを訪れる手間が省ける ¡ 他の人たちも見るような情報はSlackなどに流すと喜ばれ る ¡ スクレイピングは素晴らしい!
ありがとうございました!