SlideShare a Scribd company logo
1 of 19
Download to read offline
データスクレイピングの
極意
~非構造化テーブルと闘う~
ver.2.00
野口誠也
• フリーランスRPAエンジニア
• 自動化歴は2017年から6年目
(Excel-VBA →WinActor →UiPath)
• 2019.6からフリーランス独立
Webデータスクレイピングとは?
ニュースサイト・ブログ・価格表など様々なWebサイトを巡回(クローリン
グ)し、必要なデータを抽出する方法。
UiPathのデータスクレイピングとは
• “基本的に” 表抽出機能で1発でできます!
問題!
これからお見せするサイトの中で
表抽出機能に完全対応している
サイトは何件ありますか?
サイトA
サイトB
サイトC
正解……
正解……
• 完全対応は 件
• 一部表抽出可能、取れない列あり
• 完全に表抽出対応は不可能
表抽出機能で対応できる/できないの
• 行の入れ子パターン
• 原因 → 一部の列が、1行の中複数の行が入っている入れ子の状態
• 対策 → 複数に分けてデータスクレイピングを行う
• 取得したい要素が存在しないパターン
• 原因 → 一覧サイトには必要なデータが存在せず、データスクレイピングができない。
• 対策 → 表抽出を使わず、子要素を取得し、各要素をクリックしていく。
法則性とは何か?構造化とは?
行<TR>タグの中に、列タグ<TD>
各行の中に各列が存在しない場合
1列目
TRタグの中に必要な列が存在
2列目
必要なLIタグ行の外側…2行目に存在
法則性がない場合
行がPタグだったりH5タグだったりH4タグだったり
タグがぐだぐだなタグ
メルカリを取得する場合
表抽出を使わないデータスクレイピング
1. データテーブルを構築
2. 子要素を探す
フィルターは"<webctrl tag='LI' />“
Output = 商品Children
フィルタリングした子要素の複数形を
IEnumerable型で出力
セレクターの要素
Children(0) Children(1) Children(2) Children(3)
3. 繰り返し クリック、テキスト取得
商品項目をクリックし、商品情報一覧を取得し
データ行を追加
まとめ
• 表抽出機能が使えない前提で開発工数を考える
• ワンクリックで表抽出できるのは50%だと思って余裕をもって開発スケジュールを引く
• 表抽出を使わないデータスクレイピング方法を知る
• 子要素を探す / アプリのステートを確認 / 正規表現
• クリップボードに貼り付けてエクセル加工はしない
• 改行やちょっとしたズレが大きな事故に
• データスクレイピング100本ノック教則を作りたい!
• いつになることやら……。

More Related Content

Similar to UiPathFriends 2022-03-16

20121103 #odstudy できる! VBAマクロ
20121103 #odstudy できる! VBAマクロ20121103 #odstudy できる! VBAマクロ
20121103 #odstudy できる! VBAマクロHiyou Shinnonome
 
サーバーレスでアンケートフォームを作ってみた
サーバーレスでアンケートフォームを作ってみたサーバーレスでアンケートフォームを作ってみた
サーバーレスでアンケートフォームを作ってみたryutakatori
 
構造化データをツールで簡単に分析
構造化データをツールで簡単に分析構造化データをツールで簡単に分析
構造化データをツールで簡単に分析Yoshitaka Seo
 
【提案】(それぐらい)運用側で保守してもらえませんか?
【提案】(それぐらい)運用側で保守してもらえませんか?【提案】(それぐらい)運用側で保守してもらえませんか?
【提案】(それぐらい)運用側で保守してもらえませんか?ごろう 野村
 
JPAのキャッシュを使ったアプリケーション高速化手法
JPAのキャッシュを使ったアプリケーション高速化手法JPAのキャッシュを使ったアプリケーション高速化手法
JPAのキャッシュを使ったアプリケーション高速化手法Chihiro Ito
 
201605 fa勉強会スライド
201605 fa勉強会スライド201605 fa勉強会スライド
201605 fa勉強会スライド秀平 高橋
 
201605 FA勉強会 seleniumスライド
201605 FA勉強会 seleniumスライド201605 FA勉強会 seleniumスライド
201605 FA勉強会 seleniumスライド秀平 高橋
 
技術者として抑えておきたい Power BI アーキテクチャ
技術者として抑えておきたい Power BI アーキテクチャ技術者として抑えておきたい Power BI アーキテクチャ
技術者として抑えておきたい Power BI アーキテクチャYugo Shimizu
 
Power BI チュートリアル 導入・初級編
Power BI チュートリアル 導入・初級編Power BI チュートリアル 導入・初級編
Power BI チュートリアル 導入・初級編Osamu Masutani
 

Similar to UiPathFriends 2022-03-16 (12)

20121103 #odstudy できる! VBAマクロ
20121103 #odstudy できる! VBAマクロ20121103 #odstudy できる! VBAマクロ
20121103 #odstudy できる! VBAマクロ
 
サーバーレスでアンケートフォームを作ってみた
サーバーレスでアンケートフォームを作ってみたサーバーレスでアンケートフォームを作ってみた
サーバーレスでアンケートフォームを作ってみた
 
構造化データをツールで簡単に分析
構造化データをツールで簡単に分析構造化データをツールで簡単に分析
構造化データをツールで簡単に分析
 
WooCommerce & AWS
WooCommerce & AWSWooCommerce & AWS
WooCommerce & AWS
 
SQLを書くだけでAPIが作れる基盤
SQLを書くだけでAPIが作れる基盤SQLを書くだけでAPIが作れる基盤
SQLを書くだけでAPIが作れる基盤
 
【提案】(それぐらい)運用側で保守してもらえませんか?
【提案】(それぐらい)運用側で保守してもらえませんか?【提案】(それぐらい)運用側で保守してもらえませんか?
【提案】(それぐらい)運用側で保守してもらえませんか?
 
JPAのキャッシュを使ったアプリケーション高速化手法
JPAのキャッシュを使ったアプリケーション高速化手法JPAのキャッシュを使ったアプリケーション高速化手法
JPAのキャッシュを使ったアプリケーション高速化手法
 
201605 fa勉強会スライド
201605 fa勉強会スライド201605 fa勉強会スライド
201605 fa勉強会スライド
 
201605 FA勉強会 seleniumスライド
201605 FA勉強会 seleniumスライド201605 FA勉強会 seleniumスライド
201605 FA勉強会 seleniumスライド
 
技術者として抑えておきたい Power BI アーキテクチャ
技術者として抑えておきたい Power BI アーキテクチャ技術者として抑えておきたい Power BI アーキテクチャ
技術者として抑えておきたい Power BI アーキテクチャ
 
Power BI チュートリアル 導入・初級編
Power BI チュートリアル 導入・初級編Power BI チュートリアル 導入・初級編
Power BI チュートリアル 導入・初級編
 
面談資料 201705
面談資料 201705面談資料 201705
面談資料 201705
 

UiPathFriends 2022-03-16