39

I am (was) a Python developer who is building a GUI web scraping application. Recently I've decided to migrate to .NET framework and write the same application in C# (this decision wasn't mine).

In Python, I've used the Mechanize library. However, I can't seem to find anything similar in .NET. What I need is a browser that will run in a headless mode, which has the ability to fill out forms, submit them, etc. JavaScript parser is not a must, but it would be quite useful.

4

3 に答える 3

33

いくつかのオプションがあります:

  • WebKit.Net (無料)

  • Awesomium
    Chrome/WebKit に基づいており、魅力的に動作します。利用可能な無料ライセンスがありますが、商用ライセンスもあり、必要に応じてソースコードを購入できます:-)

  • HTML Agility Pack (無料) (ヘッドレス ブラウザではなく、HTML パーサー ライブラリ)これ
    、HTML などから情報を抽出するのに役立ちます。HttpWebRequest

于 2012-04-15T11:04:16.667 に答える
12

その他のソリューション:

  • PhantomJS - フル機能のヘッドレス Web ブラウザー。多くの場合、.NET アプリケーションからブラウザーにアクセスできるようにする Selenium と組み合わせて使用​​されます。
  • Optimus ( nuget パッケージ) - 軽量のヘッドレス Web ブラウザー。ベータ版ですが、場合によっては十分です。

以前は両方を Web テストに使用していました。しかし、それらは Web スクレイピングにも適しています。

于 2016-07-19T11:32:20.600 に答える
5

TrifleJS (現在はベータ版)、またはウィンドウレスActiveX/COM API を介して IE と通信する.NET WebBrowserクラスを使用する同様のものを使用している可能性があります。

基本的に、Internet Explorer の Trident エンジンを使用して本格的なブラウザー (http 要求ラッパーではない) を実行します。JavaScript API ( phantomjsのポート) に興味がない場合でも、C# コードベースの一部を使用できる場合があります。主要な概念 (カスタム ヘッダー、Cookie、スクリプトの実行、スクリーンショットのレンダリングなど) を回避するため。

これは、インストールしたものに応じて、さまざまなバージョンの IE をエミュレートすることもできることに注意してください。

ここに画像の説明を入力

于 2015-01-06T11:32:17.427 に答える