Home > C# > 目的別 > Web関連

ベクトルドロー・レベルゼロ

C#で、htmlを操作する

広告

新規作成日 2017-10-23
最終更新日

C#で、htmlを操作することには、次の視点があります。

  • ネット上のhtmlのソースコードをC#で取得する
  • html形式の情報をC#プログラム内で表示する
  • C#でインターネットブラウザを操作する

この異なる目的を実現する手段が、混ざった状態で同じように表現されていることが多いので、情報を集める際、混乱しないように注意しましょう。

C#を使用して、Webサイトの情報を取得する方法

C#では、インターネットからの情報を扱う方法がいくつも用意されています。

デスクトップアプリケーションを作成する際、インターネットからの情報を扱う際、よく利用されるクラスを示します。

WebBrowserコントロールは、html形式の情報をC#プログラム内で表示するための仕組みです。

また、C#に用意されているものだけでなく、外部ライブラリやブラウザエンジンを使用する方法が存在します。

  • Html Agility Pack (HAP)

    C#でHTMLをパースするためのライブラリ

  • geckofx

    .NET FrameworkおよびMonoから、Firefoxで使われているGecko エンジンを扱うためのラッパークラス

  • webkit-sharp

    monoプロジェクト用のwebkitラッパ

  • WebKit.NET

    以前のGoogle ChromeやSafari、Androidなどで使われていたレンダリングエンジンです。 これを.NETから簡単に使えるようにしたライブラリがWebKit.NETです。現在のGoogle Chromeのエンジンは、Blinkにフォークしています。

また、Internet Explorer(開発終了)やMicrosoft Edge(現行)など各ブラウザをC#から操作する方法もあります。

VBAを使って、Internet Explorer(開発終了)を操作する方法についての書籍が存在します。

もちろん、サードパーティから、この目的のライブラリが販売されている可能性もあります。

C#向けのブラウザアプリ開発環境である、ASP.Netが存在します。ASP.Netは、デスクトップアプリケーションではなく、ブラウザ上で動作するアプリケーションを開発する環境です。 ASP.Netで開発されたアプリケーションは、Webサーバー上で動作します。インターネットに関連する機能は、ASP.Netの方が充実しています。

C#で使えうるスクレイピングツール

WebClientクラス

通常、Webサイトは、htmlとcssで表現されています。cssは、文字の色や大きさなどのスタイル情報を表現するために使用されています。そのため、Webサイトの情報は、htmlコードの中にあります。 そして、このhtmlコードはテキストファイルなので、このテキストファイルを適切に扱うことができれば、自分で作成するC#のアプリケーションに、インターネット上の情報を取り込むことができます。

C#プログラムで、WebサーバーとのHttp通信を行う方法は、いくつか存在します。 WebClientクラスを使用して、Webサーバー上のWebページのソースコードを取得したり、Webサーバーが公開しているAPIを呼び出すことが可能になります。

C#で作成したプログラム内のUIにWebページを表示する

C#では、WebサーバーとのHttp通信を行い、Webサーバー上のWebページのソースコードを取得したり、Webサーバーが公開しているAPIを呼び出すだけでなく、FormやWPFで作成したUIに、ブラウザ機能を実装する方法が用意されています。

C# のWPFアプリケーションで、インターネット上のhtmlファイルを読み込んで、必要な情報だけを取得する。

C# のWPFアプリケーションで、htmlテキストを読み込み、それを正規表現を使って抽出するプログラムの基本的な部分を作成してみたいと思います。

インターネット上の情報を読み込んで正規表現で必要な情報を抽出する

正規表現で、部分文字列を取得するC#のWPFアプリケーションを作成する

正規表現を使って、その前後の文字列のパターンによって囲まれた文字列を取得することは、部分文字列を取得することで実現できます。

正規表現を使って、その前後の文字列のパターンによって囲まれた文字列を取得することは、部分文字列を取得することで実現できます。

C#で、相対uriと絶対uriを相互変換する

相対uriを絶対uriを相互変換するアプリケーション

基準URIと相対URIを入力して、「絶対URIを取得」ボタンを押すと絶対URIが得られます。基準URIと絶対URIを入力してい「相対URIを取得」ボタンを押すと相対URIが得られます。

インターネットから取得したhtmlファイルから、リンクを抽出し、絶対uriに変換し、一覧にするプログラム

インターネット上のhtmlファイルを取得しaタグ内のuriを絶対uriに変換し一覧にします。

インターネット上のhtmlファイルを取得しaタグ内のuriを絶対uriに変換し一覧にします。

このエントリーをはてなブックマークに追加

広告

Home PC C# Illustration

Copyright (C) 2011-2018 Horio Kazuhiko(kukekko) All Rights Reserved.
kukekko@gmail.com
ご連絡の際は、お問い合わせページのURLの明記をお願いします。
「掲載内容は私自身の見解であり、所属する組織を代表するものではありません。」