#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タグを取得できる。
他のライブラリを知らないが、めちゃくちゃ使いやすいなと思った。