2012-01-09 10 views
-1

ネット上にこのウェブサイトがあります(このウェブサイトは私によって作られていません)、グリッドを含んでおりページングされるので、グリッドの各ページの内容をExcelシートに入れたい。私が手動でやろうとすると、非常に面倒で、それほどスマートではありません。.netデスクトップアプリケーションを使用してウェブサイトのコンテンツをコピーする方法

これはc#.net Windowsアプリケーションを使用して行うことができますか?

これを達成するのに役立つフリーウェアはありますか?ウェブクローラーやウェブスパイダーなどのようなものですか?

+3

他のユーザーのウェブサイトをリッピングしています。あなたがそれをやろうとしたら、少なくともハードヤードに入れて手作業で行う - あなたのカルマは少し改善されるだろう。あなたが自分のウェブサイトを裂くことができるかどうかを判断するには、私に許してください。 – Pete855217

+2

@ Pete855217ウェブスクレイピングは非常に一般的な方法であり、それを行う正当な理由はたくさんあります。あなたがインターネット上に置いたものは誰でも公開して公開しているので、「リッピング」しているわけではありません。 – MattDavey

答えて

2

用語はWeb Scrapingと呼ばれます。コードを使用して達成するのは簡単な作業ではありません。

クラス/HttpWebResponseクラスまたはWebClientクラスを使用して、ページ自体にアクセスして取得することができます。その後、正規表現やHTML Agility Packのようなものを使用して、必要なデータを解析することができます。サードパーティのツールについては

が質問の多くは、すでにSOに答えているが、しかし、ここであなたが見て取ることができる一つです:あなたはC#を使用してWebページを取得するために HTMLAgilityPackのようなものを使用することができます What's a good Web Crawler tool

0

は、とXPathクエリを使用して必要なデータを抽出します。ページングをエミュレートするには、クエリ文字列をフォーマットする正しい方法を知る必要があります。テーブルがページングにAJAXを使用している場合は、正しいURL /クエリ文字列を見つけるために外部ツール/スニファを使用する必要があります。これを行うには、Firefox用のFirebugプラグインをお勧めします。

XPathでHTML表を抽出したら、XSLTを使用してCSV形式に変換できます。 CSVからは、Office Interopを使用してExcelにインポートするのは非常に簡単です。

関連する問題