Websivujen skreippaus

Sivun lähdekoodin hakemiseen voi käyttää HttpClient-luokkaa

using (var client = new HttpClient())
{
    var response = await client.GetAsync(url);
    var body = await response.Content.ReadAsStringAsync();
}

Html:n käsittelyyn voi käyttää HtmlAgilityPack-kirjastoa

var doc = new HtmlDocument();
doc.LoadHtml(body);

// etsitään elementti id:llä
var table = doc.GetElementbyId("element-id");
// etsitään elementtejä xpathilla
var rows = table.SelectNodes("tbody/tr");

Tällä videolla haen Nordnetin sivuilta osakekurssit ja tallennan ne Excel-tiedostoon.
Lähdekoodit Bitbucketissa

Excel-tiedoston luominen

Käytin ClosedXML-kirjastoa. Tässä yksinkertainen esimerkki sen käyttöön.

// luodaan uusi workbook
using (var workbook = new XLWorkbook())
{
    // lisätään siihen sheet
    var worksheet = workbook.Worksheets.Add("My Sheet");
    
    // kirjoitetaan soluun 1,1
    worksheet.Cell(1, 1).Value = "Hello Excel";

    // tallennetaan tiedosto
    workbook.SaveAs(@"C:\myfile.xlsx");
}