【C#】AngleSharpでWebスクレイピング

この記事は約4分で読めます。

 

C#でwebスクレイピング

 

C#の勉強がてらwebスクレイピングでもやってみようと思い、ちょっとやってみたので保存用に書き留めておきます。

 

C#でのWebスクレイピングは.NETのフレームワーク郡でもできるみたいだが、「AngleSharp」というのを使えば、もっと短いコードでwebスクレイピングができるらしく試してみた

 

 

<実行環境>

・VisualStudioCommunity2019

・.Netframework4.7.1

 

 

AngleSharpのインストール

 

 

AngleSharpでいざWebスクレイピング

 

とりあえず自分のサイトのスクレイピング。ヤフーファイナンスとかでもいいかなと思ったけど、あそこはスクレイピングにはうるさいので、とりあえず自分のサイトにしてみた

 

# ライブラリの呼び出し
using System;
using System.Linq;
using System.Collections.Generic;
using System.IO;
using System.Text;
using System.Net;
using System.Text.RegularExpressions;
using AngleSharp;

# 名前空間の定義
namespace Sample
{
    # クラスの定義
    public class Program
    {
        static void Main(string[] args)
        {
            // スクレイピング先のURLの定義
            var htmlUrl = $"https://tkstock.site/2019/10/17/anglesharp-cs-scraping/";
          
            // Sectorの定義
            var querySelector = $"#post-3909 > article > header > h1";

            // HTMLドキュメントの取得
            var document = BrowsingContext.New(Configuration.Default.WithDefaultLoader()).OpenAsync(htmlUrl).Result;

            // クエリセレクタでデータの取得
            var element = document.QuerySelector(querySelector);
            // デバック画面で確認
             Console.WriteLine($"blogtitle is {element.InnerHtml}");
         }
     }
}

 

 

最後のSystem.Console.WriteLine();はPythonのprint、javascriptのconsole.log,Cのprintfみたいなデバック関数。これを入れることでデバック(なし)実行したときにコンソール画面にスクレイピングした結果が表示される。

 

やってみた感じPythonのrequestsとBeautifulSoupでのスクレイピングに近くモダンといえばモダンだなという感じ。

 

参考:https://emergingtechnology.azurewebsites.net/2018/05/30/scraping/

 

 

 

関連記事:PythonでのWebスクレイピングには「requests」がめっちゃ便利という話

 

関連記事:【Python】「Beautiful Soup」でスクレイピングしたhtmlデータを解析する

 

関連記事:【Python】スクレイピングした価格データをデータベース(DB)に保存する

 

コメント

タイトルとURLをコピーしました