One way to do it is to custom write your own scraper. This
using HtmlAgilityPack;
...
HtmlDocument doc = new HtmlWeb().Load("http://www.newcardealers.ca/en/Dealers/List-A.aspx");
foreach (HtmlNode td in doc.DocumentNode.SelectNodes("//td[@width='268']"))
{
Console.Write(td.SelectSingleNode("span[@class='BodyTextBold']").InnerText);
Console.WriteLine(td.SelectSingleNode("span[@class='BodyText']").InnerText.Replace("\t\t\t\t", "\r\n"));
}
produces this
A.M. FORD SALES LIMITED
2795 Highway Drive
Trail, BC V1R2T1
Telephone : 250 364-0202 http://www.amford.com [email protected]
ABBOTSFORD CHRYSLER LTD.
30285 Automall Drive
Abbotsford, BC V2T5M1
Telephone : 604 857-8888 http://www.abbotsfordchrysler.com [email protected]
ACURA OF LANGLEY
19447 Langley ByPass
Surrey, BC V3S6K1
Telephone : 604 539-2111 http://www.acuraoflangley.com [email protected]
...
Not perfect, but you see where this is going.
Not sure how a standalone application would know how to parse that automatically.