1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

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

Posted at

#C#でスクレイピングしてみる

スクレイピングならPython一択かと思っていたが、
C#が得意なのでC#でできないか調べたらAngleSharpというライブラリを発見

##AngleSharpとは
https://anglesharp.github.io/

DOMをクエリセレクター風に解析できるライブラリっぽい
jQueryを分かっていればほとんど躓くことなく使用できるので取っ付き易いライブラリだと思う。

##リンクを抽出してみる

sample.cs
            var domain = @"https://aaaaaaaaaaaaa/";
            var parser = new AngleSharp.Html.Parser.HtmlParser();
            var target = parser.ParseDocument(new WebClient().OpenRead(domain));
            
            Console.WriteLine(target.QuerySelector("title").InnerHtml); // タイトル表示
            var links = target.GetElementsByClassName("links"); //classにlinksが含まれるタグをすべて取得

            foreach (var link in links)
            {
                var element = link.QuerySelector("a"); //aタグを取得
                Console.WriteLine(element.GetAttribute("Href")); // aタグのhref の表示
                Console.WriteLine(element.InnerHtml); // aタグの文章表示
            }

上記の様なやり方で、タイトルと*class="links"*下のすべてのaタグを取得できる。

他のライブラリを知らないが、めちゃくちゃ使いやすいなと思った。

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?