/ / ASP.NET Webフォームからデータを取得する-asp.net、画面スクレイピング、Webクローラー

ASP.NET WebFormからのデータ取得 - asp.net、スクリーンスクレイピング、Webクローラー

私はWeb開発にかなり慣れておらず、スクリーンスクレイピングやWebクロールを行ったことがありませんでしたが、昨日、友人からデータを取得できるかどうか尋ねられました。 この 私のものでも彼のものでもないウェブサイトですが、データダウンロードでも公開されています。 データの問題は、複数の日付または会社の1つのファイルではなく、1つの日付または会社ごとに1つのファイルとしてしか利用できないことです。これには、カレンダーの面倒な「クリックトラフ」が多く含まれるため、ワンクリックですべてのデータを取得し、1つのファイルまたは同様のものに出力できるアプリを作成できれば素晴らしいです。

ウェブサイトは__doPostBackでaspxwebFromを使用していますさまざまな日付のデータを取得するために、XSLでデータをダウンロードするためのリンクでさえ、通常の「href =…」リンクではなく、いくつかのaspスクリプトの参照であると思います…

正直に言って、私が試したのはPHPcURLだけでした。これは機能しませんでしたが、初めてcURLを試したので、cURLで使用できないため、または使用方法がわからないために機能しなかったかどうかさえわかりません。 私はPHPとJavaScriptにある程度精通しているだけですが、ASPには習熟していませんが、何か新しいことを学んでもかまいません。

だから私の質問は.. このようなウェブサイトからデータを取得することは可能ですか?もしそうなら、この種の問題にどのように取り組むかについてのヒントを教えていただけませんか。

ウェブサイトもここにあります http://extranet.net4gas.cz/capacity_ee.aspx

ありがとう

(ふぅ、私の最初の質問です。ルールに従わない場合は、お知らせください。次回はもっとうまくいきます)

回答:

回答№1は1

C#には、その仕事をするための優れたWebClientクラスがあります。

// Create web client.
WebClient client = new WebClient();

// Download string.
string value = client.DownloadString("http://www.microsoft.com/");

文字列にページhtmlが含まれると、正規表現を使用して探しているコンテンツをスクレイピングします。 ヒントを与えるための非常に基本的な正規表現は次のとおりです。

Regex regex = new Regex(@"d+");
Match match = regex.Match("hello here 10 values");
if (match.Success)
{
Console.WriteLine(match.Value);
}

回答№2の場合は1

マロスコ、あなたが言ったようにウェブサイトのデータは開いています公開用なので、確実にデータをスクレイピングできます。さて、それは日付の手動クリックスルーとそれからのデータのスクレイピングを減らすことです。個人的には、Curlがどのように機能するかについてはよくわかりませんが、多くのコーディングが必要になると確信しています。ソフトウェアアプリケーションなどの自動化ツールを使用してプロセス全体を自動化することをお勧めします。AutomationAnywhereを試してみてください。データ抽出の目的で数か月前に購入しましたが、非常にうまく機能しました。自動化されており、 スクリーンスクレイピング それが示す機能。それは私のお気に入りです :)

チャールズ