.Net(C#)でのWebスクレイピングのパターンと実践[終了]


9

外部のWebサイト/アプリケーションを自動化するためのアプリケーションを作成します。場合によっては、ユーザーと同じようにサイトをナビゲートする必要があります(たどる必要があるリンクは予測できず、応答から解析する必要があります)

私はすでにHtml Agility Packを使用しており、それが必要な場合はTidyを認識しています。

他に知っておくべき技術はありますか?

外部Webアプリが変更された場合にすばやく調整できる推奨パターンはありますか?応答の検証を、必要に応じて簡単に分離/プラグインできる、ある種の戦略または同様のパターンとしてカプセル化することを想定していますが、具体的な提案があればすばらしいでしょう。


それについて、ステップバイステップガイド、または15-20分で完了することができる入門-クイックスタート?berniecook.wordpress.com/2013/01/13/…のような、ステップバイステップの優れたガイドサンプルが手に入ります。始める前に、いくつかの前提をすばやくカバーしたいと思います。インストール(必要条件、必要なツール)、構成、構成素早く走る。ターゲットは「準備完了」のサンプルになります。たぶん、実際のアプリケーションサンプルの方が良いでしょう。
Kiquenet 2014

回答:


4

ユーザーが行うように外部Webサイトのナビゲーションを自動化する場合は、Watinが最適です。オブジェクトモデルを介してWebブラウザーを駆動し、DOMに基づいて構築された幅広い解析機能(および、スクリプトを含め、ブラウザーにある非DOM機能)を備えています。

ここにリンクがあります:

Watin.org


Watinは、C#のお気に入りのJavaScriptライブラリに似ています。
マフィンマン

完全なソースコードサンプルアプリケーションを使用した最終的なソリューションはありますか?私見、学習曲線を最小限に抑えるためのより良いサンプルは、完全なソースコードと優れたパターンと実践を備えた実際のアプリケーションです
Kiquenet

0

外部Webアプリの変更をすばやく追跡するための変更を行う機能を探している場合は、スクリプトについて説明します。C#が選択した言語の場合は、その場でコードをコンパイルする方法を見てください。データベースを使用している場合は、スクリプトコードをそこに格納できます。それ以外の場合は、プレーンテキストファイルも機能します。

GoFパターンについては、戦略が教科書の選択肢です。

考慮すべき他の「パターン」は、特に次のアクションを選択するためにそれらを使用して応答を検証することを述べたので、有限状態マシンです。たとえば、Webメールクライアントの状態は、「ログインしていない」、「受信トレイ」、「メッセージの読み取り」、「返信の編集」などです。状態に応じて、応答では、次の状態を選択します。


0

パターンは本当に問題に由来するはずですが、ここにいくつかの選択肢があります:

主に進行中の開発コスト/煩わしさを懸念している場合:戦略パターン(すでに言及)-これを使用してコンポーネントレベルのインターフェースを実装し、動的バインディング手法を使用して特定の戦略(実装)を解決します。IOCコンテナー(私は最近Autofacが好きです)はうまく機能します。

上記をサポートする必要がある場合は、さらに拡張する必要があります。MapReduce(.netに適したm + r fxを知っている人はいますか?)


-1

Webページの変更量によっては、これは難しい場合があります。標準の正規表現のリストをDBに保持し、1つが機能しなくなったら、ベースセットを他のユーザーとループすることができます。次に、それを将来の使用のためにマークする必要があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.