不純な動機で「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を取得(重複や不要なものは削除)
•を繰り返す
•全部サイトを⾒終わったら終了
何を作ったか?なぜ作ったか?
実際に
やってみよう!!
何を作ったか?なぜ作ったか?
便利じゃね?
思うこと
スクレイピングって
全く
エロくない!!
おわり

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