スクレイピング / WEBフォーム連携アプリ
篠原 隆司
アフィリエイト広告を利用しています
このページの内容が役に立ったら X (旧twitter) でフォローして頂けると励みになります
挨拶や報告は無しで大丈夫です
スクレイピングについて資料を作成しましたのでダウンロードできるようにします。
WEBフォーム登録の自動化などをお考えの方はぜひご覧になってみてください
スライドを動画で見る(音無し)
PDFをダウンロード
本ページのダウンロード資料は改変をしなければご自由に使って頂いて大丈夫です
WEBフォーム連携アプリ
株式会社オルタ 篠原隆司
2024-05-28
アプリの構成
WEBフォーム連携アプリを作成するには次のいずれかのアプローチがあります。
まずはどちらの手法で開発するかお選びください
- 【A】デスクトップアプリ型
- 【B】WEBアプリ型
- 【C】RPA型(PowerAutomateなど / A・Bに比べて工数が大きくなるため省略します)
デスクトップアプリ型とWEBアプリ型
| 特長 | デスクトップアプリ型 | WEBアプリ型 |
| 作業者への導入方法 | 作業者ごとのパソコンにインストール | 最新のブラウザ環境 |
| サーバシステム | なし | 特殊なサーバが必要 (Node.jsが使えること) |
| 開発費以外に掛かる費用 | なし | サーバレンタル(月) ドメインレンタル(年) サーバ保守(月) |
| 改修・バージョンアップ手順 | (一例として) メールにて更新ファイルを提供 作業者様にて入れ替え | 作業者様側では特になし |
| 自動実行の状況 | アプリ内にWEBフォームの画面とCSVの内容を表示し、人間が操作しているかのように見えます | 「5 / 20」のように現在の位置と全体数を表示 |
| 自動実行の状況 | 進捗が分かりやすい 人間が操作する画面そのものが見える | なにが行われているか分かりづらい(見えない) |
| 自動実行中 | 「PC操作」をアプリに預けているため他の作業はできない (仮に出来ても動作保証外) | 待っている間に他の作業を行うことができる |
| 自動化可能な制御 | 人間が行える操作は基本的に可能 | 自動化が困難な操作は難易度が高くなる(工数増) |
| 自動実行中の注意 | PC本体側のスリープ機能などを有効にしている場合、強制中断されたり意図しない結果になる可能性があります | 自動実行中にブラウザを閉じたり画面移動を行うと、進捗が分からなくなる場合があります。 サーバ側では処理が進んでいます |
| アクセス制限対策 | 固定IP環境でなければ 異なるネットワークに移動するなど比較的容易 | IPアドレスを変えるにはサーバ構築からやり直し |
| パソコンスペック | 比較的 高めのスペック | ある程度古いパソコンでも可 |
スクレイピングの制約
WEB画面を自動的に操作することを「スクレイピング」と呼びます
スクレイピングを行う場合、サービス運営者側の都合に合わせることが重要となります。
例えば、登録フォームに改修があり、入力項目が増えた・減った・必須になった、などの変更が行われると、スクレイピングは正常に動作しなくなる可能性があります。
この場合は、アプリ側を改修することで対応が可能です。
サービス運営者側の都合であり、予見することが困難であるため、発覚後に調査・お見積り・改修とさせていただいております
よくある注意事項についてご案内します
法的リスク
対象サイトはスクレイピングされる前提でのサイト設計を行っていないことがほとんどです。利用規約で明確に禁止されていないことを確認するなど、法的な対策をお勧めします
技術的リスク
前頁のとおり対象サイト側の改修により動作しなくなる場合があります。アプリ側も追従して改修することで対応可能
アクセス制限
自動実行を早く終わらせようとすると、対象サイトに連続的なアクセスが発生します
悪質と判断されればIPブロックなどで拒絶される可能性があります。10秒に1回など常識的な頻度にすることが重要です
運用スタイルについて
どのような形で運用を行うか想定する状況をお教えください
作業用PC Windows 10 / 11 / 32bit / 64bit / Mac
デスクトップ / ノート / タブレット
作業者数(PC数) 人 / 台
対象データ数 1回あたり 件(CSVの行数)
備考
- 対象データ数が多く、数時間かかることが予想される場合は、デスクトップ型よりWEBサーバ型がオススメです
処理完了時に設定したメールアドレスに通知する機能を加えることもできます
このページの内容が役に立ったら X (旧twitter) でフォローして頂けると励みになります
本ページの内容は可能な限り正確な情報を提供するよう努めていますが、内容の正確性・最新性・安全性を保証するものではありません。本情報を利用して生じたいかなる損害についても、当方は一切の責任を負いません。実施にあたっては必ずご自身の判断と自己責任にてお願いいたします。