Submit Search
実践Excelスクレイピング
•
50 likes
•
18,626 views
宏明 塩原
Follow
ExcelでスクレイピングとBIごっこをする方法
Read less
Read more
Gallery
Report
Share
Gallery
Report
Share
1 of 33
Download now
Download to read offline
More Related Content
実践Excelスクレイピング
1.
実践Excelスクレイピング しおばらひろあき@ハイロウテック 第3回Webスクレイピング勉強会@東京(2014/10/26)
2.
自己紹介 • しおばらひろあき
• 合同会社ハイロウテック代表社員 • http://www.hilotech.jp/ • Webの下から上まで全般が守備範囲 • 次のドール販売は11/24(祝)「アイドール」です
3.
よい子のみんな! みなさん! スクレイピングしてますか?
4.
なに使ってます? 言語は? Pythonかな?
Javaかな? Nodeかな?
5.
最近めっきり聞かないよね ぼくはPerlちゃん! すっかり絶滅危惧種
6.
Perlでスクレイピング… •ぶっちゃけめんどい! •ライブラリはそろってるけど、
ギークが多すぎて 「ソース嫁状態」 になりつつある •Encodeが出てきて??になった •これをメンテナの人に聞かれると 殴られる •Perl 6いつ出んだよ!
7.
でもPerlでスクレイピングする • 渋谷区年別住民登録人口
http://www.city.shibuya.tokyo.jp/data/statics/base/nenbetu .html • これをCSVとしてスマートに取得したい!
8.
ソース #!/usr/bin/env perl
use strict; use Encode::Locale; binmode STDOUT => ':encoding(console_out)'; use Web::Query; use HTML::Entities; $|=1; wq( 'http://www.city.shibuya.tokyo.jp/data/statics/base/nenbetu.html‘ ) ->find('table')->first ->find('tr')->each(sub{ my( $i, $e ) = @_; $e->find('th,td') ->each(sub{ my( $l, $e ) = @_; print ',' if ( $l != 0 ); print '"' . decode_entities( $e->html ) . '"'; }) ; print "¥n"; }) ;
9.
Perl 20年書いてるけどめんどくさくなってきた… #!/usr/bin/env
perl use strict; use Encode::Locale; binmode STDOUT => ':encoding(console_out)'; use Web::Query; use HTML::Entities; $|=1; wq( 'http://www.city.shibuya.tokyo.jp/data/statics/base/nenbetu.html‘ ) ->find('table')->first ->find('tr')->each(sub{ my( $i, $e ) = @_; $e->find('th,td') ->each(sub{ my( $l, $e ) = @_; print ',' if ( $l != 0 ); print '"' . decode_entities( $e->html ) . '"'; }) ; print "¥n"; }) ; 文字コードを端末に合わせるおまじない いつの間にか登場しているライブラリ なぜかエンティティ化される日本語を処理…
10.
そこで提案! スクレイピングは Excelでやる時代!
11.
Excelとは? • 人類が生んだ万能ツール
• 用途 • 営業日報作成 • 方眼紙制作 • Excelスクショエビデンス作成 • ソフトウェアプロトタイピング • などなど
12.
Excelでスクレイピングしてみよう! • 渋谷区年別住民登録人口
http://www.city.shibuya.tokyo.jp/data/statics/base/nenbetu .html • これをCSVに!
13.
手順1:ブラウザでアクセス
14.
手順2:スクレイピング対象を選択! & CTRL+C
15.
手順3:ExcelにCTRL+Vで貼り付け!
16.
手順4:CSV形式で名前をつけて保存! たったこれだけ!!
17.
あ、怒らないで… 実はExcelには もっとすごい技が!
18.
Webクエリ
19.
Webクエリ なんだこれ?
20.
Webクエリ クリックするとこんな画面に
21.
Webクエリ スクレイプしたいURLを入れる
22.
Webクエリ データを選択して「取り込み」
23.
Webクエリ Excelに取り込まれる!→作業完了
24.
Webクエリ 定期自動更新も可能!
25.
ガーン… わいのPerl人生はなんやったんや…
26.
実は 高度なビジュアライズもできる!
27.
例)東京23区の人口をWebクエリで取得 http://www.metro.tokyo.jp/PROFILE/map_to.htm
28.
取得したデータをPowerView/PowerMapに投射
29.
こんなビジュアライズがさくっとできる
30.
ガーン… わいの JavaScriptビジュアライズ
人生はなんやったんや…
31.
それほど非現実的な解ではない • どこの会社の誰のPCでも環境がそ
ろっている • それほど習熟が要らない • VBAやPowerShellを利用すれば 自動化できる
32.
教訓 • 意外にスクリプト言語にこだわらな
くてもいいかも • 引継ぎ後の担当者がPerlできな かったら? • 道具は適材適所で使いましょう
33.
ご清聴感謝します
Download now