- Регистрация
- 22.05.2016
- Сообщения
- 18
- Благодарностей
- 0
- Баллы
- 1
Привет всем!
Столкнулся с проблемкой оптимизации своего шаблона.
У меня 3 блока в ПМ по условиях парсят линки. Разница только в CSS-селекторах.
Я хотел обьеденить их в один C# блок, но что-то пошло не так...
Я конвертировал 1й блок парсинга в C# и понял, что там нету пути к списку в который я вкладываю найденые url. Хотя в ЗП и ПМ, через екшн парсинга, все работает ОK!
Вопрос: как мне обьеденить мои 3 блока парсинга (разница только в CSS-селекторах) в 1н? Chsat GPT не помог ( он постоянно прописывает путь к списку, которого в пм C# коде, почему-то, нет(
1й блок
Tab tab = instance.ActiveTab;
if (tab.IsVoid || tab.IsNull) return -1;
// Получаем атрибут "href" всех элементов, соответствующих пути "div.a-section>h2:nth-child(1)>a:nth-child(1)"
var attributes = ZennoPoster.Parser.ParseByCssSelector(tab, ZennoLab.InterfacesLibrary.Enums.Parser.SourceType.Dom, "div.a-section>h2:nth-child(1)>a:nth-child(1)", "href", true).ToList();
// Фильтруем элементы
attributes.Filter(ZennoLab.InterfacesLibrary.Enums.Parser.FilterType.None, "");
// Выбираем элементы из диапазона "0-1"
attributes.Range("0-1");
2-й блок
Tab tab = instance.ActiveTab;
if (tab.IsVoid || tab.IsNull) return -1;
// Получаем атрибут "href" всех элементов, соответствующих пути "html>body>div>div>div>div>div>span>div>div>div>div>div>div>div>div>div>div>div>h2>a"
var attributes = ZennoPoster.Parser.ParseByCssSelector(tab, ZennoLab.InterfacesLibrary.Enums.Parser.SourceType.Dom, "html>body>div>div>div>div>div>span>div>div>div>div>div>div>div>div>div>div>div>h2>a", "href", true).ToList();
// Фильтруем элементы
attributes.Filter(ZennoLab.InterfacesLibrary.Enums.Parser.FilterType.None, "");
// Выбираем элементы из диапазона "0-1"
attributes.Range("0-1");
3-й блок
Tab tab = instance.ActiveTab;
if (tab.IsVoid || tab.IsNull) return -1;
// Получаем атрибут "href" всех элементов, соответствующих пути "html>body>div>div>div>div>div>span>div>div>div>div>div>div>div>div>span>a"
var attributes = ZennoPoster.Parser.ParseByCssSelector(tab, ZennoLab.InterfacesLibrary.Enums.Parser.SourceType.Dom, "html>body>div>div>div>div>div>span>div>div>div>div>div>div>div>div>span>a", "href", true).ToList();
// Фильтруем элементы
attributes.Filter(ZennoLab.InterfacesLibrary.Enums.Parser.FilterType.None, "");
// Выбираем элементы из диапазона "0-1"
attributes.Range("0-1");
Как это обьеденить в 1н C# код?
Всем спасибо за ответ!!!
Столкнулся с проблемкой оптимизации своего шаблона.
У меня 3 блока в ПМ по условиях парсят линки. Разница только в CSS-селекторах.
Я хотел обьеденить их в один C# блок, но что-то пошло не так...
Я конвертировал 1й блок парсинга в C# и понял, что там нету пути к списку в который я вкладываю найденые url. Хотя в ЗП и ПМ, через екшн парсинга, все работает ОK!
Вопрос: как мне обьеденить мои 3 блока парсинга (разница только в CSS-селекторах) в 1н? Chsat GPT не помог ( он постоянно прописывает путь к списку, которого в пм C# коде, почему-то, нет(
1й блок
Tab tab = instance.ActiveTab;
if (tab.IsVoid || tab.IsNull) return -1;
// Получаем атрибут "href" всех элементов, соответствующих пути "div.a-section>h2:nth-child(1)>a:nth-child(1)"
var attributes = ZennoPoster.Parser.ParseByCssSelector(tab, ZennoLab.InterfacesLibrary.Enums.Parser.SourceType.Dom, "div.a-section>h2:nth-child(1)>a:nth-child(1)", "href", true).ToList();
// Фильтруем элементы
attributes.Filter(ZennoLab.InterfacesLibrary.Enums.Parser.FilterType.None, "");
// Выбираем элементы из диапазона "0-1"
attributes.Range("0-1");
2-й блок
Tab tab = instance.ActiveTab;
if (tab.IsVoid || tab.IsNull) return -1;
// Получаем атрибут "href" всех элементов, соответствующих пути "html>body>div>div>div>div>div>span>div>div>div>div>div>div>div>div>div>div>div>h2>a"
var attributes = ZennoPoster.Parser.ParseByCssSelector(tab, ZennoLab.InterfacesLibrary.Enums.Parser.SourceType.Dom, "html>body>div>div>div>div>div>span>div>div>div>div>div>div>div>div>div>div>div>h2>a", "href", true).ToList();
// Фильтруем элементы
attributes.Filter(ZennoLab.InterfacesLibrary.Enums.Parser.FilterType.None, "");
// Выбираем элементы из диапазона "0-1"
attributes.Range("0-1");
3-й блок
Tab tab = instance.ActiveTab;
if (tab.IsVoid || tab.IsNull) return -1;
// Получаем атрибут "href" всех элементов, соответствующих пути "html>body>div>div>div>div>div>span>div>div>div>div>div>div>div>div>span>a"
var attributes = ZennoPoster.Parser.ParseByCssSelector(tab, ZennoLab.InterfacesLibrary.Enums.Parser.SourceType.Dom, "html>body>div>div>div>div>div>span>div>div>div>div>div>div>div>div>span>a", "href", true).ToList();
// Фильтруем элементы
attributes.Filter(ZennoLab.InterfacesLibrary.Enums.Parser.FilterType.None, "");
// Выбираем элементы из диапазона "0-1"
attributes.Range("0-1");
Как это обьеденить в 1н C# код?
Всем спасибо за ответ!!!
Последнее редактирование: