Парсер сайта, копирование нескольких переменных по одному условию - C#
Формулировка задачи:
Добрый день!
Столкнулся с проблемой, в исходном коде сайта есть:
И так далее, кол-во колонок - не известно, и всегда меняется.
Т.е. необходимо сделать поиск этих переменных, по условию того, что перед ними идут два тега <td> в которых хранится "-" и брать собственно значение из третьего.
Я попробовал сделать с помощью паттернов, вот так:
Но столкнулся с проблемой, записывается лишь первая найденная переменная, и запись заканчивается, а нужны все, удовлетворяющие условию.
Подскажите как поступить.
Заранее спасибо!
А за примеры кода, заранее огромное спасибо!
<td class=td_field>-</td> <td class=td_field>-</td> <td class=td_field>ТУТ ПЕРЕМЕННАЯ1</td> <td class=td_field>-</td> <td class=td_field>-</td> <td class=td_field>ТУТ ПЕРЕМЕННАЯ2</td> <td class=td_field>-</td> <td class=td_field>-</td> <td class=td_field>ТУТ ПЕРЕМЕННАЯ3</td> <td class=td_field>-</td> <td class=td_field>-</td> <td class=td_field>ТУТ ПЕРЕМЕННАЯ4</td>
string pattern3 = @"<td class=td_field>-</td>\s*<td class=td_field>-</td>\s*<td class=td_field>(.*?)</td>"; res3 = Regex.Match(html2, pattern3);
Решение задачи: «Парсер сайта, копирование нескольких переменных по одному условию»
textual
Листинг программы
using System; using System.Linq; using System.Collections.Generic; using System.Text.RegularExpressions; class Program { static void Main() { string html = @"<td class=td_field>-</td> <td class=td_field>-</td> <td class=td_field>ТУТ ПЕРЕМЕННАЯ1</td> <td class=td_field>-</td> <td class=td_field>-</td> <td class=td_field>ТУТ ПЕРЕМЕННАЯ2</td> <td class=td_field>-</td> <td class=td_field>-</td> <td class=td_field>ТУТ ПЕРЕМЕННАЯ3</td> <td class=td_field>-</td> <td class=td_field>-</td> <td class=td_field>ТУТ ПЕРЕМЕННАЯ4</td>"; string pattern = @"<td class=td_field>-</td>\s*<td class=td_field>-</td>\s*<td class=td_field>(.*?)</td>"; List<string> list = new List<string>(); foreach (Match match in Regex.Matches(html, pattern)) list.Add(match.Groups[1].Value); string query = string.Format("SELECT * FROM blabla WHERE blablabla IN ({0})", string.Join(", ", list)); Console.WriteLine(query); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д