2012-02-01 12 views
0

私の問題は、同時に複数のWebブラウザーを実行できないことです。複数のWebBrowserを1つのプログラムに入れよう

site1のwebbrowser1を使用してデータをスクラップし、site2のwebbrowser2を使用して別のデータをスクラップする場合は、最初のwebbrowserがジョブを実行しています。

別々のスレッドで実行しようとしましたが、うまくいきませんでした。私はmainの前にSTA ApartmentStateについて聞いたことがありますが、そこにはまだ何もありません。

ウェブブラウザーをどのようにして同じ時間に動作させることができますか?

+1

なぜWebClientまたはrawプロキシを使用しないのですか。彼らは使いにくいです。 – CodingBarfield

答えて

2

データをスクラップしようとしているWebサイトでJavaScriptを使用して動的にHTMLを変更していない場合は、HtmlAgilityPackを使用してください。それは私の見解では最高で、使いやすいです。異なるスレッドで異なるHtmlDocumentのインスタンスを使用して、複数のWebサイトからのデータを非同期にスクラップできるので、複数のブラウザの問題を解決できます。

1

実際、WebBrowserは、シングルスレッド環境でのみ実行できるActiveXコンポーネントです。 Trouble with timers and threads

私は、WebClientクラスを使用して、複数の場所から同時にデータを取得することをお勧めします。

関連する問題