SlideShare ist ein Scribd-Unternehmen logo
1 von 58
Downloaden Sie, um offline zu lesen
不純な動機で「puppeteer」
でスクレイピングを始めてみた
スクレイピングって響きカッコイイよね
Tyankatsu
•フロントエンドエンジニアになりたいデザイナー
•ほうれん草⼤好き
•gulp⼤好き
•jQuery飽きた
•ES勉強中
•https://github.com/tyankatsu0105
•https://twitter.com/tyankatsu5
•https://anysense.co.jp/
お品書き
•スクレイピング?
•puppeteer?
•だったらこうしてやる!!
•何を作ったか?なぜ作ったか?
•思うこと
役に⽴つか
分かりませんが、
githubに公開してます。
https://github.com/
tyankatsu0105/puppeteer
スクレイピング?
スクレイピング?
ちょっと
わかんないです 笑
スクレイピング?
スクレイピング
知る前の僕
スクレイピング?
スクレイピング・・・・・
スクレイピング?
なんかエロいことに
使ってそう!!
(漠然)
スクレイピング?
実際に
やってみよう!!
\チャンカツよろしく!!/
https://try-puppeteer.appspot.com/
スクレイピング?
やってみるタイム
終了
スクレイピング?
エロくねぇ!!!
スクレイピング?
Webスクレイピングとは、WebサイトからWebペー
ジのHTMLデータを収集して、特定のデータを抽出、
整形し直すことである。
https://www.weblio.jp/content/
Web%E3%82%B9%E3%82%AF%E3%83%AC%E3%82%A4%E3%83%94%E3%83%B3%E3%
82%B0
スクレイピング?
やっぱりエロくn
puppeteer?
puppeteer?
⼈形遣い 傀儡⼦
ブラウザを操っているようなロゴ
puppeteer?
•※chromiumをヘッドレスモード(GUIがない)
で操作する注⽬のnodeライブラリ
•内包するchromiumをdevtools protocolと対話
して操作する
•操作がわかりやすい。
•Chrome開発チームがメンテナンスしてる
※chromium:chromeの元になっているオープンソースのブラウザ。
詳細→https://ja.wikipedia.org/wiki/Chromium
puppeteer?
なんで最近
注⽬されてんの?
puppeteer?
今まで
スクレイピングに
⽤いられていた
JSライブラリ
puppeteer?
puppeteer?
権威を振るっていた
PhantomJS
(cheerioとかもあったけど)
puppeteer?
でも去年
悲しい出来事が
puppeteer?
http://kytiken.hatenablog.com/entry/
2017/11/29/175814
puppeteer?
メインメンテナーさん
限界でした。
お疲れ様でした。
puppeteer?
ちょうどその頃
puppeteer?
Chrome59から
Headless Chrome
搭載しやす
https://developers.google.com/web/
updates/2017/04/headless-chrome?hl=ja
puppeteer?
うおぉぉぉぉ!!!
(予想)
puppeteer?
その後
puppeteer?
puppeteer
公開しやす
puppeteer?
うおぉぉぉぉ!!!
(予想)
puppeteer?
そして
puppeteer?
puppeteer
メジャーアプデ
しやした
puppeteer?
うおぉぉぉぉ!!!
(予想)
puppeteer?
おいおい
puppeteer?
ここまで
エロい話なし
puppeteer?
だったら
やってやるさ!!
puppeteer?
エロ画像を
漁ってやる!!!
だったら
こうしてやる!!
だったらこうしてやる!!
•某R18サイトにアクセス
•検索窓で変数に⼊れた⽂字列を⼊⼒
•検索結果の数を多くするボタンクリック
•それぞれの詳細ページにアクセス
•拡⼤表⽰したサムネイル画像をローカル
に保存
だったらこうしてやる!!
実際に
やってみよう!!
だったらこうしてやる!!
だったらこうしてやる!!
どうでしたか?
だったらこうしてやる!!
お宝が増えました
だったらこうしてやる!!
いかん!!!
だったらこうしてやる!!
こんなことに
使ってる
場合じゃねぇ!!
だったらこうしてやる!!
ちゃんとしたもの
作りました。
何を作ったか?
なぜ作ったか?
何を作ったか?なぜ作ったか?
こんな経験
ありませんか?
何を作ったか?なぜ作ったか?
•サイト構築したけど、全体的にスタイルのチェックしたい
•今サイトにどんなディレクトリがあるのか知らない
•スタイルの修正したことで崩れがないかチェックしたい
•⼀つ⼀つページを開いて⽬視する作業が⾯倒だ。
何を作ったか?なぜ作ったか?
だからつくったぜ!
何を作ったか?なぜ作ったか?
流れ
何を作ったか?なぜ作ったか?
•指定したURLをPCとSPに偽装して開く(basic認証があったらそこ
を突破する)
•スクリーンショットとHTMLをローカルに落とす
•ページ内の全aタグのhrefを取得(重複や不要なものは削除)
•取得したURL先に⾶ぶ
•またスクリーンショットとHTMLをローカルに落とす
•またページ内の全aタグのhrefを取得(重複や不要なものは削除)
•を繰り返す
•全部サイトを⾒終わったら終了
何を作ったか?なぜ作ったか?
実際に
やってみよう!!
何を作ったか?なぜ作ったか?
便利じゃね?
思うこと
スクレイピングって
全く
エロくない!!
おわり

Weitere ähnliche Inhalte

Was ist angesagt?

UE4のマテリアルを もっと楽しもう!~マテリアルでぐっと広がるリアルタイムCG表現の幅~
UE4のマテリアルを もっと楽しもう!~マテリアルでぐっと広がるリアルタイムCG表現の幅~ UE4のマテリアルを もっと楽しもう!~マテリアルでぐっと広がるリアルタイムCG表現の幅~
UE4のマテリアルを もっと楽しもう!~マテリアルでぐっと広がるリアルタイムCG表現の幅~ エピック・ゲームズ・ジャパン Epic Games Japan
 
セプキャン参加者の個性
セプキャン参加者の個性セプキャン参加者の個性
セプキャン参加者の個性Kazunori Jo
 
Kawaz学生部 新歓スライド 2017
Kawaz学生部 新歓スライド 2017Kawaz学生部 新歓スライド 2017
Kawaz学生部 新歓スライド 2017航平 瀬川
 
20121206 来年度新入社員懇親会ライトニングトーク
20121206 来年度新入社員懇親会ライトニングトーク20121206 来年度新入社員懇親会ライトニングトーク
20121206 来年度新入社員懇親会ライトニングトークYasuhiro Kinoshita
 
絶対にリリースできる!?勝手に作るチーム制作
絶対にリリースできる!?勝手に作るチーム制作絶対にリリースできる!?勝手に作るチーム制作
絶対にリリースできる!?勝手に作るチーム制作Takuma Sugaya
 
みるみらができるまで2
みるみらができるまで2みるみらができるまで2
みるみらができるまで2tetu_fs
 
mikutterではじめるさわやかておくれライフ
mikutterではじめるさわやかておくれライフmikutterではじめるさわやかておくれライフ
mikutterではじめるさわやかておくれライフAkira Ouchi
 
Hyperでエキサイティングなシェル芸ライフ
Hyperでエキサイティングなシェル芸ライフHyperでエキサイティングなシェル芸ライフ
Hyperでエキサイティングなシェル芸ライフkunst1080
 
会議における段取りのお話
会議における段取りのお話会議における段取りのお話
会議における段取りのお話Yohei Iguchi
 
UE4背景アーティスト勉強会(前編) 背景ワークフロー解説
UE4背景アーティスト勉強会(前編) 背景ワークフロー解説UE4背景アーティスト勉強会(前編) 背景ワークフロー解説
UE4背景アーティスト勉強会(前編) 背景ワークフロー解説Aiko Shinohara
 
HoloPlay Plugin for UE4を使ってみた
HoloPlay Plugin for UE4を使ってみたHoloPlay Plugin for UE4を使ってみた
HoloPlay Plugin for UE4を使ってみたYuuki Ogino
 
20110528 qpstudy LT 「Interop 行きませんか」
20110528 qpstudy LT 「Interop 行きませんか」20110528 qpstudy LT 「Interop 行きませんか」
20110528 qpstudy LT 「Interop 行きませんか」Hiyou Shinnonome
 
ミュージック・プログラミング
ミュージック・プログラミングミュージック・プログラミング
ミュージック・プログラミングYutaka Makabe
 
Pythonと出会ったデザイナーの話 #PyLadiesTokyo
Pythonと出会ったデザイナーの話 #PyLadiesTokyoPythonと出会ったデザイナーの話 #PyLadiesTokyo
Pythonと出会ったデザイナーの話 #PyLadiesTokyoYumi uniq Ishizaki
 
初海外で英語が出来なくてもノリで行く、GDC3日間の旅+
初海外で英語が出来なくてもノリで行く、GDC3日間の旅+初海外で英語が出来なくてもノリで行く、GDC3日間の旅+
初海外で英語が出来なくてもノリで行く、GDC3日間の旅+Yuuki Ogino
 
非テクニシャンがステージで気持ちよくなる方法
非テクニシャンがステージで気持ちよくなる方法非テクニシャンがステージで気持ちよくなる方法
非テクニシャンがステージで気持ちよくなる方法Mirai Shimizu
 
ぷちコンゲームジャム進捗報告
ぷちコンゲームジャム進捗報告ぷちコンゲームジャム進捗報告
ぷちコンゲームジャム進捗報告Yuuki Ogino
 

Was ist angesagt? (20)

UE4のマテリアルを もっと楽しもう!~マテリアルでぐっと広がるリアルタイムCG表現の幅~
UE4のマテリアルを もっと楽しもう!~マテリアルでぐっと広がるリアルタイムCG表現の幅~ UE4のマテリアルを もっと楽しもう!~マテリアルでぐっと広がるリアルタイムCG表現の幅~
UE4のマテリアルを もっと楽しもう!~マテリアルでぐっと広がるリアルタイムCG表現の幅~
 
セプキャン参加者の個性
セプキャン参加者の個性セプキャン参加者の個性
セプキャン参加者の個性
 
Kawaz学生部 新歓スライド 2017
Kawaz学生部 新歓スライド 2017Kawaz学生部 新歓スライド 2017
Kawaz学生部 新歓スライド 2017
 
20121206 来年度新入社員懇親会ライトニングトーク
20121206 来年度新入社員懇親会ライトニングトーク20121206 来年度新入社員懇親会ライトニングトーク
20121206 来年度新入社員懇親会ライトニングトーク
 
絶対にリリースできる!?勝手に作るチーム制作
絶対にリリースできる!?勝手に作るチーム制作絶対にリリースできる!?勝手に作るチーム制作
絶対にリリースできる!?勝手に作るチーム制作
 
みるみらができるまで2
みるみらができるまで2みるみらができるまで2
みるみらができるまで2
 
Qpic2017年度 第5回グラフィック講座
Qpic2017年度 第5回グラフィック講座Qpic2017年度 第5回グラフィック講座
Qpic2017年度 第5回グラフィック講座
 
mikutterではじめるさわやかておくれライフ
mikutterではじめるさわやかておくれライフmikutterではじめるさわやかておくれライフ
mikutterではじめるさわやかておくれライフ
 
豚×京都 ~UE4でなろう破壊神~ (UE4 VFX Art Dive)
豚×京都 ~UE4でなろう破壊神~ (UE4 VFX Art Dive)豚×京都 ~UE4でなろう破壊神~ (UE4 VFX Art Dive)
豚×京都 ~UE4でなろう破壊神~ (UE4 VFX Art Dive)
 
Hyperでエキサイティングなシェル芸ライフ
Hyperでエキサイティングなシェル芸ライフHyperでエキサイティングなシェル芸ライフ
Hyperでエキサイティングなシェル芸ライフ
 
会議における段取りのお話
会議における段取りのお話会議における段取りのお話
会議における段取りのお話
 
UE4背景アーティスト勉強会(前編) 背景ワークフロー解説
UE4背景アーティスト勉強会(前編) 背景ワークフロー解説UE4背景アーティスト勉強会(前編) 背景ワークフロー解説
UE4背景アーティスト勉強会(前編) 背景ワークフロー解説
 
HoloPlay Plugin for UE4を使ってみた
HoloPlay Plugin for UE4を使ってみたHoloPlay Plugin for UE4を使ってみた
HoloPlay Plugin for UE4を使ってみた
 
20110528 qpstudy LT 「Interop 行きませんか」
20110528 qpstudy LT 「Interop 行きませんか」20110528 qpstudy LT 「Interop 行きませんか」
20110528 qpstudy LT 「Interop 行きませんか」
 
ミュージック・プログラミング
ミュージック・プログラミングミュージック・プログラミング
ミュージック・プログラミング
 
Pythonと出会ったデザイナーの話 #PyLadiesTokyo
Pythonと出会ったデザイナーの話 #PyLadiesTokyoPythonと出会ったデザイナーの話 #PyLadiesTokyo
Pythonと出会ったデザイナーの話 #PyLadiesTokyo
 
初海外で英語が出来なくてもノリで行く、GDC3日間の旅+
初海外で英語が出来なくてもノリで行く、GDC3日間の旅+初海外で英語が出来なくてもノリで行く、GDC3日間の旅+
初海外で英語が出来なくてもノリで行く、GDC3日間の旅+
 
20210324torarabo lt
20210324torarabo lt20210324torarabo lt
20210324torarabo lt
 
非テクニシャンがステージで気持ちよくなる方法
非テクニシャンがステージで気持ちよくなる方法非テクニシャンがステージで気持ちよくなる方法
非テクニシャンがステージで気持ちよくなる方法
 
ぷちコンゲームジャム進捗報告
ぷちコンゲームジャム進捗報告ぷちコンゲームジャム進捗報告
ぷちコンゲームジャム進捗報告
 

Mehr von anysense_ss

メタ思考トレーニング
メタ思考トレーニングメタ思考トレーニング
メタ思考トレーニングanysense_ss
 
画像収集を捗らせたい話
画像収集を捗らせたい話画像収集を捗らせたい話
画像収集を捗らせたい話anysense_ss
 
無能を定義したら無能がいなくなった話 ~ コミュニケーションの齟齬について ~
無能を定義したら無能がいなくなった話 ~ コミュニケーションの齟齬について ~無能を定義したら無能がいなくなった話 ~ コミュニケーションの齟齬について ~
無能を定義したら無能がいなくなった話 ~ コミュニケーションの齟齬について ~anysense_ss
 
Markuplintし損ねた男の話
Markuplintし損ねた男の話Markuplintし損ねた男の話
Markuplintし損ねた男の話anysense_ss
 
内なる言葉のすすめ ~妄想から現実へ~
内なる言葉のすすめ ~妄想から現実へ~内なる言葉のすすめ ~妄想から現実へ~
内なる言葉のすすめ ~妄想から現実へ~anysense_ss
 
ショートカットで時短する
ショートカットで時短するショートカットで時短する
ショートカットで時短するanysense_ss
 
3年ぐらい絵を書き続けた男の話
3年ぐらい絵を書き続けた男の話3年ぐらい絵を書き続けた男の話
3年ぐらい絵を書き続けた男の話anysense_ss
 
2017下半期の音楽を調べた男の話
2017下半期の音楽を調べた男の話2017下半期の音楽を調べた男の話
2017下半期の音楽を調べた男の話anysense_ss
 
Sketchのライセンスを更新した男の話
Sketchのライセンスを更新した男の話Sketchのライセンスを更新した男の話
Sketchのライセンスを更新した男の話anysense_ss
 
マーケにも使える!男脳と女脳の違い
マーケにも使える!男脳と女脳の違いマーケにも使える!男脳と女脳の違い
マーケにも使える!男脳と女脳の違いanysense_ss
 
自分で自分を追い込む 1週間で何とかする
自分で自分を追い込む 1週間で何とかする自分で自分を追い込む 1週間で何とかする
自分で自分を追い込む 1週間で何とかするanysense_ss
 
プレゼンマスターになろう!
プレゼンマスターになろう!プレゼンマスターになろう!
プレゼンマスターになろう!anysense_ss
 
linterとprettierというコード砂漠に緑をもたらす救世主
linterとprettierというコード砂漠に緑をもたらす救世主linterとprettierというコード砂漠に緑をもたらす救世主
linterとprettierというコード砂漠に緑をもたらす救世主anysense_ss
 
マークアップのおまじないをしっかり理解する
マークアップのおまじないをしっかり理解するマークアップのおまじないをしっかり理解する
マークアップのおまじないをしっかり理解するanysense_ss
 

Mehr von anysense_ss (14)

メタ思考トレーニング
メタ思考トレーニングメタ思考トレーニング
メタ思考トレーニング
 
画像収集を捗らせたい話
画像収集を捗らせたい話画像収集を捗らせたい話
画像収集を捗らせたい話
 
無能を定義したら無能がいなくなった話 ~ コミュニケーションの齟齬について ~
無能を定義したら無能がいなくなった話 ~ コミュニケーションの齟齬について ~無能を定義したら無能がいなくなった話 ~ コミュニケーションの齟齬について ~
無能を定義したら無能がいなくなった話 ~ コミュニケーションの齟齬について ~
 
Markuplintし損ねた男の話
Markuplintし損ねた男の話Markuplintし損ねた男の話
Markuplintし損ねた男の話
 
内なる言葉のすすめ ~妄想から現実へ~
内なる言葉のすすめ ~妄想から現実へ~内なる言葉のすすめ ~妄想から現実へ~
内なる言葉のすすめ ~妄想から現実へ~
 
ショートカットで時短する
ショートカットで時短するショートカットで時短する
ショートカットで時短する
 
3年ぐらい絵を書き続けた男の話
3年ぐらい絵を書き続けた男の話3年ぐらい絵を書き続けた男の話
3年ぐらい絵を書き続けた男の話
 
2017下半期の音楽を調べた男の話
2017下半期の音楽を調べた男の話2017下半期の音楽を調べた男の話
2017下半期の音楽を調べた男の話
 
Sketchのライセンスを更新した男の話
Sketchのライセンスを更新した男の話Sketchのライセンスを更新した男の話
Sketchのライセンスを更新した男の話
 
マーケにも使える!男脳と女脳の違い
マーケにも使える!男脳と女脳の違いマーケにも使える!男脳と女脳の違い
マーケにも使える!男脳と女脳の違い
 
自分で自分を追い込む 1週間で何とかする
自分で自分を追い込む 1週間で何とかする自分で自分を追い込む 1週間で何とかする
自分で自分を追い込む 1週間で何とかする
 
プレゼンマスターになろう!
プレゼンマスターになろう!プレゼンマスターになろう!
プレゼンマスターになろう!
 
linterとprettierというコード砂漠に緑をもたらす救世主
linterとprettierというコード砂漠に緑をもたらす救世主linterとprettierというコード砂漠に緑をもたらす救世主
linterとprettierというコード砂漠に緑をもたらす救世主
 
マークアップのおまじないをしっかり理解する
マークアップのおまじないをしっかり理解するマークアップのおまじないをしっかり理解する
マークアップのおまじないをしっかり理解する
 

不純な動機で「puppeteer」 でスクレイピングを始めてみた