Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

実践Excelスクレイピング

ExcelでスクレイピングとBIごっこをする方法

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all
  • Be the first to comment

実践Excelスクレイピング

  1. 1. 実践Excelスクレイピング しおばらひろあき@ハイロウテック 第3回Webスクレイピング勉強会@東京(2014/10/26)
  2. 2. 自己紹介 • しおばらひろあき • 合同会社ハイロウテック代表社員 • http://www.hilotech.jp/ • Webの下から上まで全般が守備範囲 • 次のドール販売は11/24(祝)「アイドール」です
  3. 3. よい子のみんな! みなさん! スクレイピングしてますか?
  4. 4. なに使ってます? 言語は? Pythonかな? Javaかな? Nodeかな?
  5. 5. 最近めっきり聞かないよね ぼくはPerlちゃん! すっかり絶滅危惧種
  6. 6. Perlでスクレイピング… •ぶっちゃけめんどい! •ライブラリはそろってるけど、 ギークが多すぎて 「ソース嫁状態」 になりつつある •Encodeが出てきて??になった •これをメンテナの人に聞かれると 殴られる •Perl 6いつ出んだよ!
  7. 7. でもPerlでスクレイピングする • 渋谷区年別住民登録人口 http://www.city.shibuya.tokyo.jp/data/statics/base/nenbetu .html • これをCSVとしてスマートに取得したい!
  8. 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. 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. 10. そこで提案! スクレイピングは Excelでやる時代!
  11. 11. Excelとは? • 人類が生んだ万能ツール • 用途 • 営業日報作成 • 方眼紙制作 • Excelスクショエビデンス作成 • ソフトウェアプロトタイピング • などなど
  12. 12. Excelでスクレイピングしてみよう! • 渋谷区年別住民登録人口 http://www.city.shibuya.tokyo.jp/data/statics/base/nenbetu .html • これをCSVに!
  13. 13. 手順1:ブラウザでアクセス
  14. 14. 手順2:スクレイピング対象を選択! & CTRL+C
  15. 15. 手順3:ExcelにCTRL+Vで貼り付け!
  16. 16. 手順4:CSV形式で名前をつけて保存! たったこれだけ!!
  17. 17. あ、怒らないで… 実はExcelには もっとすごい技が!
  18. 18. Webクエリ
  19. 19. Webクエリ なんだこれ?
  20. 20. Webクエリ クリックするとこんな画面に
  21. 21. Webクエリ スクレイプしたいURLを入れる
  22. 22. Webクエリ データを選択して「取り込み」
  23. 23. Webクエリ Excelに取り込まれる!→作業完了
  24. 24. Webクエリ 定期自動更新も可能!
  25. 25. ガーン… わいのPerl人生はなんやったんや…
  26. 26. 実は 高度なビジュアライズもできる!
  27. 27. 例)東京23区の人口をWebクエリで取得 http://www.metro.tokyo.jp/PROFILE/map_to.htm
  28. 28. 取得したデータをPowerView/PowerMapに投射
  29. 29. こんなビジュアライズがさくっとできる
  30. 30. ガーン… わいの JavaScriptビジュアライズ 人生はなんやったんや…
  31. 31. それほど非現実的な解ではない • どこの会社の誰のPCでも環境がそ ろっている • それほど習熟が要らない • VBAやPowerShellを利用すれば 自動化できる
  32. 32. 教訓 • 意外にスクリプト言語にこだわらな くてもいいかも • 引継ぎ後の担当者がPerlできな かったら? • 道具は適材適所で使いましょう
  33. 33. ご清聴感謝します

    Be the first to comment

    Login to see the comments

  • Cronoloves

    Feb. 6, 2015
  • Tyee

    Feb. 6, 2015
  • syokenz

    Feb. 8, 2015
  • YuzoKonishi

    Feb. 23, 2015
  • eikoishizuka3

    Feb. 23, 2015
  • yasuyukimaeda52

    Feb. 25, 2015
  • TatsuyaMoriyama

    Jul. 17, 2015
  • rightbrain-mora

    Sep. 16, 2015
  • Nobuhiii

    Oct. 31, 2015
  • ssuserb66684

    Jan. 2, 2016
  • redwellnoise

    Mar. 5, 2016
  • naokikt

    Oct. 23, 2016
  • ssuserb83cde

    Nov. 13, 2016
  • kaindu

    Nov. 20, 2016
  • mayuoya

    Feb. 16, 2017
  • lollipop_andy

    Apr. 7, 2017
  • ssuser618ed1

    Aug. 10, 2017
  • MasatoMorisawa

    Apr. 6, 2018
  • mitsuhirowada127

    Jan. 25, 2019
  • SugiyamaYuichi

    Dec. 21, 2019

ExcelでスクレイピングとBIごっこをする方法

Views

Total views

18,388

On Slideshare

0

From embeds

0

Number of embeds

6,591

Actions

Downloads

72

Shares

0

Comments

0

Likes

51

×