私は(だった)Python GUI Webスクレイピングアプリケーションを構築している開発者です。最近、.NETフレームワークに移行し、同じアプリケーションをC#で記述することにしました(この決定はそうではありませんでした)私の)。
Pythonでは、Mechanizeライブラリを使用しました。ただし、.NETで類似するものを見つけることはできません。必要なのは、ヘッドレスモードで実行されるブラウザです。このブラウザには、フォームに入力したり、フォームを送信したりする機能があります。JavaScriptパーサーは必須ではありませんが、非常に便利です。
いくつかのオプションがあります:
WebKit.Net (無料)
Awesomium
Chrome/WebKitに基づいており、魅力のように機能します。無料のライセンスがありますが、商用ライセンスもあります。必要に応じて、ソースコードを購入できます:-)
HTML Agility Pack (無料)
これはHTMLなどから情報を抽出するのに役立ち、あなたの場合に役立つかもしれません(おそらく HttpWebRequest
と組み合わせて)
その他のソリューション:
私は両方をWebテストに使用していました。ただし、Webスクレイピングにも適しています。
TrifleJS(現在ベータ版)、または 。NET WebBrowser = IEウィンドウレスActiveX/COM APIを介して通信するクラス。
JavaScript API( phantomjs のポート)に興味がなければ、Internet ExplorerのTridentエンジンを使用して、基本的に完全なブラウザ(httpリクエストラッパーではない)を実行します。 C#コードベースのいくつかを使用して、主要な概念(カスタムヘッダー、Cookie、スクリプト実行、スクリーンショットレンダリングなど)を回避します。
これは、インストールしたものに応じてIEの異なるバージョンをエミュレートできることに注意してください。