LoginSignup
0
0

AngleSharpでBASIC認証+スクレイピング

Posted at

C#初学者向けに私が詰まったポイントと解決のために閲覧したWebページを貼っておきます。

** やりたいこと**
BASIC認証のあるサイトに対してC#でスクレイピング

コード

internal class scraping
{

    public async void Scraping()
    {
        var uri = new Uri(@"http://kaiin:naisho@leggiero.sakura.ne.jp/xxxxbasic_auth_testxxxx/secret/kaiin_page_top.htm");
        var client = new HttpClient();

        // 認証情報の指定がない場合は string.Empty になる
        if (!string.IsNullOrWhiteSpace(uri.UserInfo))
        {
            // 認証情報が指定されていたらヘッダーを設定
            var bytes = Encoding.UTF8.GetBytes(uri.UserInfo);
            var base64 = Convert.ToBase64String(bytes);
            client.DefaultRequestHeaders.Authorization = new("Basic", base64);
        }

        // まずは、スクレイピングするデータを取得
        var doc = default(IHtmlDocument);
        var stream = await client.GetStreamAsync(uri);
        var parser = new HtmlParser();
        doc = await parser.ParseDocumentAsync(stream);
        Console.WriteLine(doc.Body.InnerHtml);

    }

    static void Main(string[] args)
    {
        scraping scraping = new scraping();
        scraping.Scraping();
        Thread.Sleep(10000);
    }
}

詰まった(詰まっている点)

0
0
1

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
0
0