Web データ抽出のための Portia の代替案
公開: 2019-07-15Portia は、ユーザーがプログラミングの知識がなくても Web サイトをクロールできるビジュアル ツールでした。 これはホステッド サービスでしたが、ビジュアル スクレーパーの使用が減少したため、削除され、現在は使用されていません。 では、ポーシャが存在していたとき、人々はポーシャをどのように使用していたのでしょうか? Portia を使用するには、アクセスする必要がある URL のパターンを入力し、ポイント アンド クリック ジェスチャを使用するか、CSS または XPath を使用して、それらの Web ページ内の要素を選択する必要があります。 使いやすいにもかかわらず、Portia の最大の問題は次のとおりです。
- 他のオープンソースの Web スクレイピング ツールと比較して、制御するのに時間がかかるツールでした。
- Web サイトのナビゲートは扱いにくかったです。
- Portia が不要な URL にアクセスしないようにするために、クロールを開始するときにターゲット ページを指定する必要がありました。
- スクレイピングしたデータ ポイントを保存するためにデータベースをプラグインする方法はありませんでした。
ビジュアル Web スクレイパーの利点は何ですか?
1 回限りの Web スクレイピングが必要な場合は、ビジュアル Web スクレイパーを使用できますが、ビジネス ワークフローの一部として使用することはお勧めしません。 非常に少数の静的 Web ページからデータをクロールする必要があり、それが非常に頻繁に (たとえば、月に 1 回) ビジネスを運営している場合は、どのデータをスクレイピングして理解する必要があるかを知っている人をチームに入れることができます。数時間以内に視覚的な Web スクレイパーの動作を確認し、時々 Web データを抽出します。 視覚的な Web クローラーは、技術チームがなく、細かいスクレイピング要件がある中小企業に特に役立ちます。
視覚的な Web クローラーは、Web ページの「要素の検査」をクリックして、HTML コンテンツからデータをコピーして貼り付けるのとほとんど同じです。 代わりに、ビジュアル Web スクレイパーを使用すると、Web ページの一部をクリックするだけで、ソフトウェアがデータを選択した場所にコピーします。

ビジュアル Web スクレイパーが不十分な分野は?
ただし、深刻な重いものを持ち上げる必要がある場合は、視覚的なスクレーパーでは不十分です。
ビジネス ワークフローの一部として一部のデータのスクレイピングを含める必要がある場合があります (自動化する必要があります)。
数百または数千のページにわたってデータをスクレイピングする必要があり、非常に頻繁に更新する必要がある場合があります。
特定のビジネス モジュールのスクレイピング データのライブ フィードが必要になる場合があります。 上記のほとんどの場合、コードベースの Web スクレイパーはビジュアル スクレイパーよりもはるかに便利です。

ほとんどの大量スクレイピング プロジェクトでは、さまざまなアイテムに関するデータを Web データから抽出するために、大量の同様の Web ページをクロールする必要があります。 これらの項目は、電子予約 Web サイトのフライト情報から、電子商取引 Web サイトの製品詳細にまで及びます。 このようなシナリオで適用されるロジックは、いくつかの Web ページを使用してデータが Web ページに格納されるパターンを理解しようとすることです。また、まったく同じ構造のページだけでなく、同様の構造のページもクロールできるコードを使用します。 . また、Web サイトで利用可能なすべてのページをスクレイピングする際に、特定の構造を持つページを無視する必要がある場合があります。 これらすべてのカスタマイズはビジュアル スクレイパーでは不可能であるため、ビジュアル スクレイパーを使用してあまりにも多くのページをスクレイピングすることはお勧めしません。
一方、Web サイトのルック アンド フィールは数週間または数か月ごとに変化するため、Web サイトのユーザー インターフェイスが変更されるたびにビジュアル Web スクレイパーをトレーニングする必要がある場合があります。 一方、コードベースのスクレイパーを使用する場合、多くの場合、UI を変更してもスクレイパーを変更する必要さえない場合があります。これは、Web サイトの構造が同じままである可能性があるためです。 スクレーパーの変更が必要になる可能性のあるユーザー インターフェイスの変更があったとしても、変更は通常最小限であり、変更に合わせてスクレーパーを調整するのは簡単です。
他にどのような選択肢がありますか?
Portia には多くの代替手段があります。 Python、R、Golang などの言語は、世界中の開発者や Web スクレイピング チームによって、Web ページから Web データを抽出するために使用されています。 プロセスを高速化するための新しい方法が開発されています。 たとえば、Colly というパッケージを使用して、Golang で並列プログラミングとキャッシュを使用すると、次のようなカスタム設定を使用できます。
- 同時にクロールするページの数。
- スクレイパーが Web ページからのスクレイピングを開始したときの最大深度。 (つまり、最大深度を 3 に設定すると、トップ ページをクロールし、そのページで見つかった URL に移動してクロールし、そのページで見つかった URL に移動して、それもクロールしますが、今は3 ページ目で URL が見つかった場合は、それ以上進みません)。
- URL に存在する単語のチェックを設定できます。つまり、URL に単語が存在する場合、その URL の Web ページをスクレイピングする必要があります。 または、除外を設定することもできます。特定の単語を含む URL は、スクレイパーによってアクセスされるべきではありません。
これらは、独自の Web スクレイパーを構築するときに得られる数百の小さな機能の例のほんの一部です。
DaaS プロバイダー vs 社内チーム?
技術チームがいない、またはスクリプト言語の基本的な理解がないメンバーでさえないほとんどの企業は、社内のスクレイピング チームの構築を開始しないようにする必要があります。 この背後にある理由は簡単です。 開発者を募集し、ビジネス ニーズに合わせてまったく新しい Web スクレイピング システムを構築して維持するために費やす費用は膨大です。 結局のところ、あなたが小規模な会社であり、Web スクレイピングがビジネスの原動力ではない場合 (つまり、Web からクロールするデータがビジネスの中心ではない場合) は、社内チーム。
その場合の簡単な解決策は、ユーザーの要件を受け入れて、選択した形式でデータを提供する DaaS プロバイダーです。 PromptCloud の私たちのチームは、企業や企業の Web スクレイピングを 2 段階のプロセスに削減することに大きな誇りを持っています。
結論
ビジュアル ツールはビジネス チームに適していますが、Web スクレイピングは単純なビジネス タスクではないことに同意できます。 これは、効率的かつ高速で、完全にカスタマイズ可能である必要があるタスクです。 大量の Web スクレイピング要件がある場合、またはより大規模な Web データ抽出を希望する場合は、Web スクレイピング サービスを使用することをお勧めします。
プログラミングに不慣れな場合や要件が複雑な場合は、PromptCloud などのフル マネージド サービス プロバイダーを使用して、技術的な問題やツールの習得を必要とせずに自動化された方法でクリーンなデータを取得できます。
