狠狠撸

狠狠撸Share a Scribd company logo
データスクレイピ
ングの極意
~非構造化テーブルと闘う~
ver.2.00
野口誠也
? フリーランスRPAエンジニア
? 自動化歴は2017年から6年目
(Excel-VBA →WinActor →UiPath)
? 2019.6からフリーランス独立
Webデータスクレイピングとは?
ニュースサイト?ブログ?価格表など様々なWebサイトを巡回
(クローリング)し、必要なデータを抽出する方法。
UiPathのデータスクレイピングとは
? “基本的に” 表抽出機能で1発でできます!
問題!
これからお見せするサイトの中で
表抽出機能に完全対応している
サイトは何件ありますか?
サイト础
サイト叠
サイト颁
正解……
正解……
? 完全対応は 件
? 一部表抽出可能、取れない列あり
? 完全に表抽出対応は不可能
表抽出機能で対応できる/できないの
? 行の入れ子パターン
? 原因 → 一部の列が、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 (14)

20121103 #odstudy できる! VBAマクロ
20121103 #odstudy できる! VBAマクロ20121103 #odstudy できる! VBAマクロ
20121103 #odstudy できる! VBAマクロ
Hiyou Shinnonome
?
サーバーレスでアンケートフォームを作ってみた
サーバーレスでアンケートフォームを作ってみたサーバーレスでアンケートフォームを作ってみた
サーバーレスでアンケートフォームを作ってみた
ryutakatori
?
构造化データをツールで简単に分析
构造化データをツールで简単に分析构造化データをツールで简単に分析
构造化データをツールで简単に分析
Yoshitaka Seo
?
厂蚕尝を书くだけで础笔滨が作れる基盘
厂蚕尝を书くだけで础笔滨が作れる基盘厂蚕尝を书くだけで础笔滨が作れる基盘
厂蚕尝を书くだけで础笔滨が作れる基盘
Recruit Lifestyle Co., Ltd.
?
WooCommerce & AWS
WooCommerce & AWSWooCommerce & AWS
WooCommerce & AWS
Hidetaka Okamoto
?
【提案】(それぐらい)运用侧で保守してもらえませんか?
【提案】(それぐらい)运用侧で保守してもらえませんか?【提案】(それぐらい)运用侧で保守してもらえませんか?
【提案】(それぐらい)运用侧で保守してもらえませんか?
ごろう 野村
?
闯笔础のキャッシュを使ったアプリケーション高速化手法
闯笔础のキャッシュを使ったアプリケーション高速化手法闯笔础のキャッシュを使ったアプリケーション高速化手法
闯笔础のキャッシュを使ったアプリケーション高速化手法
Chihiro Ito
?
Power BI チュートリアル 導入?初級編
Power BI チュートリアル 導入?初級編Power BI チュートリアル 導入?初級編
Power BI チュートリアル 導入?初級編
Osamu Masutani
?
技術者として抑えておきたい Power BI アーキテクチャ
技術者として抑えておきたい Power BI アーキテクチャ技術者として抑えておきたい Power BI アーキテクチャ
技術者として抑えておきたい Power BI アーキテクチャ
Yugo Shimizu
?
201605 fa勉強会スライト?
201605 fa勉強会スライト?201605 fa勉強会スライト?
201605 fa勉強会スライト?
秀平 高橋
?
201605 FA勉強会 seleniumスライト?
201605 FA勉強会 seleniumスライト?201605 FA勉強会 seleniumスライト?
201605 FA勉強会 seleniumスライト?
秀平 高橋
?
Lineにおけるspring frameworkの活用
Lineにおけるspring frameworkの活用Lineにおけるspring frameworkの活用
Lineにおけるspring frameworkの活用
Tokuhiro Matsuno
?
厂笔础勉强会
厂笔础勉强会厂笔础勉强会
厂笔础勉强会
Daisuke Onoe
?
第45回笔贬笔勉强会(里洋平)
第45回笔贬笔勉强会(里洋平)第45回笔贬笔勉强会(里洋平)
第45回笔贬笔勉强会(里洋平)
Yohei Sato
?
20121103 #odstudy できる! VBAマクロ
20121103 #odstudy できる! VBAマクロ20121103 #odstudy できる! VBAマクロ
20121103 #odstudy できる! VBAマクロ
Hiyou Shinnonome
?
サーバーレスでアンケートフォームを作ってみた
サーバーレスでアンケートフォームを作ってみたサーバーレスでアンケートフォームを作ってみた
サーバーレスでアンケートフォームを作ってみた
ryutakatori
?
构造化データをツールで简単に分析
构造化データをツールで简単に分析构造化データをツールで简単に分析
构造化データをツールで简単に分析
Yoshitaka Seo
?
厂蚕尝を书くだけで础笔滨が作れる基盘
厂蚕尝を书くだけで础笔滨が作れる基盘厂蚕尝を书くだけで础笔滨が作れる基盘
厂蚕尝を书くだけで础笔滨が作れる基盘
Recruit Lifestyle Co., Ltd.
?
【提案】(それぐらい)运用侧で保守してもらえませんか?
【提案】(それぐらい)运用侧で保守してもらえませんか?【提案】(それぐらい)运用侧で保守してもらえませんか?
【提案】(それぐらい)运用侧で保守してもらえませんか?
ごろう 野村
?
闯笔础のキャッシュを使ったアプリケーション高速化手法
闯笔础のキャッシュを使ったアプリケーション高速化手法闯笔础のキャッシュを使ったアプリケーション高速化手法
闯笔础のキャッシュを使ったアプリケーション高速化手法
Chihiro Ito
?
Power BI チュートリアル 導入?初級編
Power BI チュートリアル 導入?初級編Power BI チュートリアル 導入?初級編
Power BI チュートリアル 導入?初級編
Osamu Masutani
?
技術者として抑えておきたい Power BI アーキテクチャ
技術者として抑えておきたい Power BI アーキテクチャ技術者として抑えておきたい Power BI アーキテクチャ
技術者として抑えておきたい Power BI アーキテクチャ
Yugo Shimizu
?
201605 fa勉強会スライト?
201605 fa勉強会スライト?201605 fa勉強会スライト?
201605 fa勉強会スライト?
秀平 高橋
?
201605 FA勉強会 seleniumスライト?
201605 FA勉強会 seleniumスライト?201605 FA勉強会 seleniumスライト?
201605 FA勉強会 seleniumスライト?
秀平 高橋
?
Lineにおけるspring frameworkの活用
Lineにおけるspring frameworkの活用Lineにおけるspring frameworkの活用
Lineにおけるspring frameworkの活用
Tokuhiro Matsuno
?
第45回笔贬笔勉强会(里洋平)
第45回笔贬笔勉强会(里洋平)第45回笔贬笔勉强会(里洋平)
第45回笔贬笔勉强会(里洋平)
Yohei Sato
?

UiPathFriends 2022-03-16

Editor's Notes