LINQ to foltia を作ってみる

急に LINQ を試したくなったので、LINQ to foltia を作りはじめた。
404 Not Found

とりあえず録画ライブラリの一覧は取得できたところ。
単に List<> 継承して、インスタンス化されるときに録画ライブラリページ読んで自身つっこんでるだけです。
IQueryable<> を実装した方法もLINQ to Excel を作ってみる その1 - Architect Lifeとかで紹介されているのですが、その3あたりでついて行けなくなった。あううう。
まあ、1ページロードするだけで全件取得できちゃうからこれでいいか、という感じです。

今の段階でもちょっとくらいは使えます。とりあえず「★」を含むタイトルを抽出したりしてみたり。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using EbiSoft.Linq.Foltia;

namespace SampleLinqToFoltia
{
    class Program
    {
        static void Main(string[] args)
        {
            string baseUri = ""; // foltiaの設置URL
            string user = "";    // 認証情報
            string pass = "";

            Foltia foltia = new Foltia(baseUri, user, pass);

            var titles = from t in foltia.Library
                         where t.Name.Contains("★")
                         select t.Title;
            
            foreach (var title in titles) Console.WriteLine(title);
            Console.Read();
        }
    }
}

あと、FoltiaLibraryTitle に Programs をつけて、放映回、サブタイトル、MP4ファイルのURLが取れるところまで作るつもり。
foltia の録画ライブラリ番組個別表示のHTMLを正規表現でパースするのは難しそうなので、いろいろがんばらないといけなさそう。マネージドなスクレイピングのライブラリとかないんだろうか。