public IEnumerable<IMangaRecord> GetAvailableMangas(string filter)
{
if (filter == null)
throw new ArgumentNullException("filter");
if (filter.Length < 3)
return Enumerable.Empty<MangaRecord>();
var records = new List<MangaRecord>();
var document = WebHelper.GetHtmlDocument(String.Format(SearchUrlFormat, Uri.EscapeDataString(filter)));
var mangas = document.SelectNodes(@"//div[@id=""comic_search_results""]/table//tr/td[1]//a");
if (mangas == null)
{
throw new ParserException("Could not find expected elements on website.", document.InnerHtml);
}
foreach (var manga in mangas)
{
if (string.IsNullOrEmpty(manga.InnerText))
continue;
var url = GetFullUrl(manga.Attributes["href"].Value);
records.Add(new MangaRecord(ScraperGuid, url)
{
MangaName = CleanupText(manga.InnerText),
Url = url
});
}
return records;
}