IZennoTable table = project.Tables["tb"]; // Беру таблицу
var jsonData = project.Json[0][1]; // Упрощаю JSON, чтобы на прямую не обращаться к нему
int data = jsonData.Count; //Определяю количество строк
if (data > 0) { //Проверка на ноль
for (int i = 1; i < data; i++) { //Обход всех строк JSON
var EData = jsonData[i][14]; // Второе упрощение JSON
//Блоки обработка текста JSON
string data1 = EData[5]?.ToString() ?? string.Empty;
string data2 = EData[9]?.ToString() ?? string.Empty;
string data3 = EData[3]?.ToString() ?? string.Empty;
string data4 = EData[6]?.ToString() ?? string.Empty;
//Последний блок GET запросы на сайты
string url = EData[2]?.ToString();
Html = ZennoPoster.HttpGet(url, "", "utf-8", InterfacesLibrary.Enums.Http.ResponceType.BodyOnly, 5000, "", "", true, 3);
string Pattern = @ "[РЕГУЛЯРКА]";
Match regMatch = Regex.Match(Html, Pattern, RegexOptions.IgnoreCase);
if (regMatch.Success) {
PageUrl = regMatch.Groups[1].Value;
// Если URL относительный, преобразуем его в абсолютный
if (!PageUrl.StartsWith("http")) {
Uri baseUri = new Uri(url);
PageUrl = new Uri(baseUri, PageUrl).ToString();
}
//2 GET
string Html2 = ZennoPoster.HttpGet(PageUrl, "", "utf-8", InterfacesLibrary.Enums.Http.ResponceType.BodyOnly, 5000, "", "", true, 3);
string Pattern2 = @ "[РЕГУЛЯРКА2]";
MatchCollection reg2Matches = Regex.Matches(Html2, Pattern2);
HashSet < string > unique = new HashSet < string > ();
foreach(Match reg2Matche in reg2Matches) {
unique.Add(reg2Matche.Value); // Добавляем в HashSet
}
data5 = string.Join("\n", unique);
}