Я использую пакет HtmlAgility для разбора html-страницы. Я могу найти мой раздел, откуда я должен получить данные. Фактически его таблица и я должен разбирать ее tr. В принципе, у меня есть два запроса.Parsing html page в WinForm, C#
Когда я загрузить страницу в парсер, потребовалось около 20-30 секунд, чтобы загрузить его в память и есть около 4738 веб-страниц для разбора. Итак, я хочу уменьшить его .... Я хочу знать Могу ли я использовать делегат, вызывающий метод в цикле, чтобы я мог сократить время задержки. Или есть эффективный способ сделать это. Пожалуйста, направляйте меня через это.
Я получаю свой ряд как
"\r\n\t\t\t\t<td style=\"width:20%;\">110001</td><td style=\"width:25%;\">New Delhi</td><td style=\"width:25%;\">Delhi</td><td style=\"width:30%;\">Baroda House</td>\r\n\t\t\t"
, из вышеизложенного я должен разобрать 11001, Нью-Дели, Дели и дом Бароды. На самом деле у меня есть класс Pincodes, где у меня есть свойства Pincode, Area, State и District. Поэтому мне нужно регулярное выражение или какой-то способ поместить эти значения в класс.
Наконец-то я должен нажать эти записи в свою базу данных, где я использую Linq2Sql. Поэтому, сохраняя все, скажите, пожалуйста, решение. Любая ссылка или ссылка будут большой помощью.
Мой код:
var url = @"http://www.eximguru.com/traderesources/pincode.aspx?&GridInfo=Pincode01";
var web = new HtmlWeb();
var doc = web.Load(url);
//doc.DocumentNode.SelectSingleNode("//*[@id=\"lst-ib\"]");//("/html/body/div[2]/form/div/div[2]/table/tbody/tr/td/table/tbody/tr/td/div/table/tbody/tr/td/table/tbody/tr/td[2]/div/input");
//System.Console.WriteLine(doc.DocumentNode.SelectSingleNode("//*[@id=\"lst-ib\"]").Id);
var htmlNode =
doc.DocumentNode.SelectSingleNode(
"//*[@id=\"ctl00_uxContentPlaceHolder_ResourceAndGuideUserControl1_ResourceAndGuideGrid_myGridView_mainGridView\"]");
Заранее спасибо