Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
210528 UiPath 基本技_スクレイピングをシッカリ学ぶ はなっち!
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
comucal
PRO
May 28, 2021
Technology
1k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
210528 UiPath 基本技_スクレイピングをシッカリ学ぶ はなっち!
comucal
PRO
May 28, 2021
More Decks by comucal
See All by comucal
「駆動」って言葉、なんかカッコイイ_Mitz
comucal
PRO
0
210
2025年 コミュニティ×ビジネスのリアル_Mitz
comucal
PRO
0
230
コミュニティが仕事になった人間の意識|娯楽志向か情報志向か
comucal
PRO
0
97
生成AI情報2025.3.21
comucal
PRO
0
130
テック系コミュニティの参加者を徹底分析_株式会社コミュカル Mitz
comucal
PRO
0
190
AppSheet タスク管理アプリ 中級編
comucal
PRO
0
650
参加人数が多ければ正解?
comucal
PRO
0
410
交流会のコツ 自己紹介編~コミュ学~
comucal
PRO
0
220
コミュニティ運営勉強会OP
comucal
PRO
0
170
Other Decks in Technology
See All in Technology
Network Firewallやっていき!
news_it_enj
0
260
2年前に削除したPHPクラスが、 ある日突然決済をエラーにした
ykagano
1
730
AI Coding Agent時代のcdk-nagガードレール 〜組織ルールを強制CIで守り抜く設計の挑戦〜
mhrtech
3
500
10年目を迎えた「ABEMA」がどのように AI 活用を推進して、AI 駆動開発にシフトしているのか / How ABEMA, entering its 10th year, is promoting the use of AI and shifting toward AI-driven development
miyukki
0
360
JAWS_ICEBERG_BASECAMP
iqbocchi
2
110
クラウドを使う側から、作る側へ / 大吉祥寺.pm 2026前夜祭
fujiwara3
4
1.1k
第67回コンピュータビジョン勉強会CVPR2026読会前編
tsukamotokenji
0
160
Playwright × AI Agent でE2Eテストはどう変わるか AI駆動テストの可能性と実用検証の結果
taiga7543
2
780
複数プロダクトで進めるAI機能実装 ── 実践から得たリアルな学びとロードマップ実現への挑戦 / AICon2026_yanari
rakus_dev
1
270
ソニー銀行におけるビジネスアジリティ向上のためのクラウドシフト戦略
srenext
0
1.1k
CDKで書くECSのベストプラクティス、 改めて考え直す2026 #cdkconf2026
makies
3
930
シンガポールで登壇してきます
yama3133
0
340
Featured
See All Featured
HDC tutorial
michielstock
2
750
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
So, you think you're a good person
axbom
PRO
2
2.1k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
1
370
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.2k
What's in a price? How to price your products and services
michaelherold
247
13k
How to Ace a Technical Interview
jacobian
281
24k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
3
360
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
410
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
380
Transcript
基本技! スクレイピングをシッカリ学ぶ! WA使いのとある方におねだりして、書いていただきました!
はなっち!とは… 2019年10月 UiPath Japan MVP 2019 認定 2020年10月
UiPath Japan MVP 2020 認定 2020年11月 定年退職 同 年同月 有期契約社員 お客様先でRPAサポート&開発 Twitter:hjmkzk Qiita:@HANACCHI FaceBook:hajime.kozaki
スクレイピングとは https://ja.wikipedia.org/wiki/ウェブスクレイピング ウェブスクレイピング(Web scraping)とは、 ウェブサイトから情報を抽出するコンピュータソフトウェア技術のこと。 ウェブ・クローラー[1]あるいはウェブ・スパイダー[2]とも呼ばれる。 通 常このようなソフトウェアプログラムは低レベルのHTTPを実装するこ とで、もしくはウェブブラウザを埋め込むことによって、WWWのコン テンツを取得する。
←Amazon上の扱い商品一覧がざくざく採れる! ↓Yahoo!ファイナンス上の株価データがざくざく採れる! ↓図書館サイト上の蔵書情報がざくざく採れる!
ざくざく採れる!と言うことは 人手で検索し、情報を得るより、 ROBOTで、自動的に情報を得ると、以下のメリットがある 1) 情報取得までの操作が不要! 2) 24時間休まずに情報が取れる! 3) 取得した情報は正確! と、言うことは!
1) 情報取得までの操作が不要! ⇒ RPAの醍醐味! 2) 24時間休まずに情報が取れる! ⇒ サーバに負荷! 3) 取得した情報を正確に取れる! ⇒ 人手との格差! 4) サイトから取得したデータにバグ ⇒ 株価情報だと、損失発生!
サーバに負荷、人手との格差と言うことは 利用規約で、ロボットで情報を収集しないで!と言うサイトがある! Amazonの利用規約 Twitterの利用規約 Yahoo!ファイナンス … と、言うことは! 1. 基本的には利用規約を見る! 2.
「Ctrl + F」でページ内検索をかけて「自動」、「ボット」、 「スクレイピング」などで検索! 3. ちゃんと文章読んでみよう! 【※絶対に自動化してはいけない】自動化禁止サイトまとめ!
無視してアクセスしつづけていると…(故意でなくても…) 岡崎市立中央図書館事件 2010年3月頃に岡崎市立図書館の蔵書検索システムにアク セス障害が発生し、利用者の一人が逮捕された事件である。 利用者に攻撃の意図はなく、また、根本的な原因が図書館 側のシステムの不具合にあったことから論議を呼んだ。 逮捕された人物が取調べの後、Librahackというサイトを立 ち上げて解説をしたことから、Librahack事件とも呼ばれる。 Librahack :
容疑者から見た岡崎図書館事件 https://ja.wikipedia.org/wiki/岡崎市立中央図書館事件
None
None
None
スクレイピングは スクレイピングがダメと書かれていないサイトを対象にしましょ う! • みずほ銀行 • CONNPASS • 社内システム(管理者に確認した方がいい) RPAを理解しない管理者により、アクセス許可が下りない事例あ
り!
操作! データスクレイピング! WA使いのとある方におねだりして、書いていただきました!
こんな流れで設定していきます! 開始 終了 抽出列第一要素選択 取得件数の確認 複数ページ指定 抽出列第二要素選択 全表対象 他の列必要? 抽出列第一要素
抽出列第二要素 データスクレイピングはどうやるの? Yes Yes No No
対象のサイトを開いておきましょう! データスクレイピングはどうやるの?
Studioの「データスクレイピング」をクリック! データスクレイピングはどうやるの?
抽出ウィザート画面と、対象サイトを並べました! データスクレイピングはどうやるの?
「次へ」をクリックし、スクレイピングする場所をホバーします データスクレイピングはどうやるの?
表全体を一気にスクレイプしていいかの確認画面 データスクレイピングはどうやるの?
ホバー位置が違っても、多少は補正(?)してくれる データスクレイピングはどうやるの?
データスクレイピングは、 <table> - テーブル(表)で記述された情報を抽出します データスクレイピングはどうやるの?
あれ?Hyperlinkに関する情報が取れていない! ⇒表全体を選択すると、Hyperlinkは無視される データスクレイピングはどうやるの?
Studioの「データスクレイピング」をクリック! データスクレイピングはどうやるの?(HyperLinkも取得する)
抽出ウィザート画面と、対象サイトを並べました! データスクレイピングはどうやるの?(HyperLinkも取得する)
「次へ」をクリックし、スクレイピングする場所をホバーします データスクレイピングはどうやるの?(HyperLinkも取得する)
データスクレイピングはどうやるの?(HyperLinkも取得する) 表全体を取らず、2番目の要素を自分で指定する!
在る筈のHyperLinkがない! データスクレイピングはどうやるの?(HyperLinkも取得する) 「☑URLを取得」をチェックON!
データスクレイピングはどうやるの?(振り出しに戻って) URLが指定されているUI要素を選択!
データスクレイピングはどうやるの?(振り出しに戻って) 表全体を取らず、2番目の要素を自分で指定する!
HyperLinkが取れた! データスクレイピングはどうやるの?(振り出しに戻って) 「☑URLを取得」をチェックON!
データスクレイピングはどうやるの?(他の列も欲しい!) 他の列を取得するには、「相関するデータを抽出」を!
データスクレイピングはどうやるの?(他の列も欲しい!) 2番目の要素を選択する(2行目でも3行目でもOK)
データスクレイピングはどうやるの?(他の列も欲しい!) 必要な列分、以上の操作を繰り返す…
データスクレイピングはどうやるの?(取得件数の指定) 0を設定すると全データ取得! 1Tableから取得する件数を指定!
データスクレイピングはどうやるの?(複数ページの対応) お話の都合で、今は「いいえ」をクリック!
データスクレイピングはどうやるの?(アクティビティの中身-設定値) 取得件数 変数! ExtractDataTable アクティビティのプロパティを見てみましょう!
データスクレイピングはどうやるの?(アクティビティの中身-セレクター) セレクターは、どのTableをスクレイプするかを指定!
データスクレイピングはどうやるの?(アクティビティの中身-メタデータ抽出) メタデータ抽出は、Tableのどの列をスクレイプするかを指示!
<extract> <row exact='1'> <webctrl tag='tr' /> </row> <column exact='1' name='Column1'
attr='text' name2='Column2' attr2='href'> <webctrl tag='tr' /> <webctrl tag='td' idx='1' /> <webctrl tag='a' idx='1' /> </column> <column exact='1' name='Column3' attr='text'> <webctrl tag='tr' /> <webctrl tag='td' idx='2' /> </column> <column exact='1' name='Column4' attr='text'> <webctrl tag='tr' /> <webctrl tag='td' idx='3' /> </column> </extract> <extract> <row exact='1'> <webctrl tag='tr' /> </row> <column exact=‘1’ name=‘メニュー’ attr=‘text’ name2=‘リンク' attr2='href'> <webctrl tag='tr' /> <webctrl tag='td' idx='1' /> <webctrl tag='a' idx='1' /> </column> <column exact='1' name='説明' attr='text'> <webctrl tag='tr' /> <webctrl tag='td' idx='2' /> </column> <column exact='1' name='豆知識' attr='text'> <webctrl tag='tr' /> <webctrl tag='td' idx='3' /> </column> </extract> データスクレイピングはどうやるの?(列名の見直し) 列名は、ここで見直せます!
データスクレイピングはどうやるの?(列名の見直し) XMLエディター上で修正する事!
データスクレイピングはどうやるの?(実行結果) 実行結果
実践! データスクレイピング! WA使いのとある方におねだりして、書いていただきました!
CONNPASSから、開催イベント情報を取得してみる! https://rpacommunity.connpass.com/ ちゃんと求めるデータがあるか確認!
CONNPASSから、開催イベント情報を取得してみる! https://rpacommunity.connpass.com/event/ 次ページがある!
CONNPASSから、開催イベント情報を取得してみる! 第1要素選択 第2要素選択 前の章のようにやってみる!
CONNPASSから、開催イベント情報を取得してみる! 次ページ選択 複数ページあるので、次ページ用ボタンを選択!
CONNPASSから、開催イベント情報を取得してみる! "<webctrl aaname='次へ>>' parentid='contents' tag='A' />" 無指定時、30000ミリ秒なので、 100ミリ秒など小さい値を設定する アクティビティのプロパティを見てみましょう!
CONNPASSから、開催イベント情報を取得してみる! 実行してみましょう! Column1,Column2 RPA勉強会!UiPath Talk~基本技!スクレイピングをシッカリ学ぶ!~,https://rpacommunity.connpass.com/event/212426/ RPA勉強会!Power Automate Talk #11~実務で使えるフローを実演で紹介~,https://rpacommunity.connpass.com/event/212389/ RPA勉強会
Automation Anywhere Talk vol.5~業務で使える基本テク~,https://rpacommunity.connpass.com/event/211416/ 【増席】RPA勉強&LT会!RPALT vol4 with Tech Night!@ソフトバンク,https://rpacommunity.connpass.com/event/94853/ 【増席】RPA勉強&LT会!RPALT vol3@ウイングアーク1st,https://rpacommunity.connpass.com/event/90549/ 【増席】RPA勉強&LT会!RPALT vol2@ウイングアーク1st,https://rpacommunity.connpass.com/event/84458/ 【増席】RPA勉強&LT会!RPALT vol1@Innovation Space DEJIMA,https://rpacommunity.connpass.com/event/80348/ RPA導入経験者が語る!RPAユーザー座談会(UiPath、Bizrobo、WinActor),https://rpacommunity.connpass.com/event/81227/ 取得結果(抜粋)
レッツ! データスクレイピング! WA使いのとある方におねだりして、書いていただきました!
• そのサイトのデータ、スクレイプなどしていいか、利用規 約を確認しよう! • 第1要素した時点で、表全体情報が取得できる場合がある! • 第1要素、第2要素の選択後、取得結果を見て確認しよう! • 列名は後で修正出来る! •
データスクレイピングした結果は、変数 「ExtractDataTable」である ⇒複数回スクレイピングする場合、混用に注意!