Помогите разобраться

  • Автор темы Автор темы shlomos
  • Дата начала Дата начала

shlomos

Пользователь
Регистрация
04.07.2018
Сообщения
52
Реакции
2
Баллы
8
Все привет! Пытаюсь разобраться с проектом из этой статьи:
https://zennolab.com/discussion/threads/kak-ja-zarabotal-475k-za-4-mesjaca.44312/page-3#post-329618

Под верстку подправил, но беда такая, парсятся только первые 2 поисковые строчки.
Подскажите, что тут поправить нужно:
var html = project.Variables["HTML"].Value; // html страница
var doc = new HtmlDocument();
doc.LoadHtml(html); // создали объект HtmlDocument и загрузили в него html страницу
var nodes = doc.DocumentNode.SelectNodes("//div[@class='b-serp-item'][//h2[@class='b-serp-item__title']]"); // взяли нужные узлы сразу без рекламы (как писал @Moadip: "Для маньяков xpath")
project.SendInfoToLog("нашли столько узлов:" + nodes.Count.ToString(), true);
var list = new List<string>();
foreach (var node in nodes) // в цикле добавляем в список элемент состоящий из двух строчек
{
var title = node.SelectSingleNode(".//h2[@class='b-serp-item__title']").InnerText; // текст заголовка
var desc = node.SelectSingleNode(".//p[@class='b-serp-item__snippet']").InnerText; // текст описания

list.Add(title + "\r\n" + desc + "\r\n"); // добавил в список "двойную строчку"

}
var res = string.Join("\r\n", list); // объединил двойный строчки
return res;
 
Не получилось, так вообще не парсит:
"ссылка на объект не указывает на экземпляр объекта"
Код:
Развернуть Свернуть Копировать
var dom = instance.ActiveTab.DomText;
HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
//var doc = new HtmlDocument();
doc.LoadHtml(dom); // создали объект HtmlDocument и загрузили в него html страницу
var nodes = doc.DocumentNode.SelectNodes("//ancestor::div[h3/a]"); // взяли нужные узлы 
project.SendInfoToLog("нашли столько узлов:" + nodes.Count.ToString(), true);
var list = new List<string>();
foreach (var node in nodes)
{
    if(!node.InnerHtml.Contains("googleadservices"))//Если не реклама
    {
        var title = node.SelectSingleNode(".//h3").InnerText;
        var desc = node.SelectSingleNode(".//div/span").InnerText;
        list.Add(title + "\r\n" + desc + "\r\n"); // добавил в список "двойную строчку
    }
  
}

var res = string.Join("\r\n", list); // объединил двойный строчки
return res;
 
  • Спасибо
Реакции: Mihalich
Код:
Развернуть Свернуть Копировать
var dom = instance.ActiveTab.DomText;
HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
//var doc = new HtmlDocument();
doc.LoadHtml(dom); // создали объект HtmlDocument и загрузили в него html страницу
var nodes = doc.DocumentNode.SelectNodes("//ancestor::div[h3/a]"); // взяли нужные узлы
project.SendInfoToLog("нашли столько узлов:" + nodes.Count.ToString(), true);
var list = new List<string>();
foreach (var node in nodes)
{
    if(!node.InnerHtml.Contains("googleadservices"))//Если не реклама
    {
        var title = node.SelectSingleNode(".//h3").InnerText;
        var desc = node.SelectSingleNode(".//div/span").InnerText;
        list.Add(title + "\r\n" + desc + "\r\n"); // добавил в список "двойную строчку
    }
 
}

var res = string.Join("\r\n", list); // объединил двойный строчки
return res;

Также не работает
 
Браузер с гуглом включен? Библиотека HtmlAgilityPack подключена? Дай ссылку на страницу с которой не берет.
Нет, там рамблер же в проекте.
https://nova.rambler.ru/search?query=тут любой кей
в выдаче получается 10 пунктов. он все 10, судя по логам, видит. но парсит только с первых двух
 
Блин:(
А у тебя есть аська или телега?
Твой код работает
Код:
Развернуть Свернуть Копировать
Результат: Tutu.ru: «Туту.ру» — онлайн-бронирование билетов
Поиск, бронирование и покупка билетов на поезда дальнего следования и авиаперелёты. База информации для путешественников (телефоны авиакомпаний и вокзалов, проезд в аэропорты). Расписание электричек.

«Tut.by» — белорусский портал
Новости политики, экономики, бизнеса, культуры, спорта, хроника происшествий. Афиша событий. Автообъявления. Прогноз погоды.

TUT.BY - YouTube
TUT.BY — крупнейший информационный ресурс Беларуси. Ежедневно на наш сайт заходит читает более 800 тысяч человек, чтобы узнать главные новости в стране и мир...

Сериалы ТУТ! Сериалы онлайн смотреть бесплатно.
Умираю со смеху / Я тут умираю. (2 сезон) 8 серия (Hamster).тут ПонаЕхало Понедельник - день тяжелый Пончик Люся Попадец Попечитель Попсовый Эпос Популярна и влюблена...

Зайцев.нет! Скачать музыку бесплатно в формате MP3 –…
Зайцев.нет — слушать музыку онлайн бесплатно Сегодня все большее количество интернет-пользователей предпочитают слушать любимые песни онлайн.

Белорусский портал TUT.BY | ВКонтакте
Хочешь быть в тренде? Читай новости на TUT.BY! Самые жаркие обсуждения событий только у нас!

TUT.RU - тепловизоры и прицелы
Торговый дом. Каталог товаров: геодезические и оптические приборы, охотничье, рыболовное и туристическое снаряжение, специальное оборудование. Описание, технические характеристики, видео обзоры, цены, онлайн-заказ. Распродажа. Способы оплаты и доставки.

Белорусский портал TUT.BY | OK.RU
Группа Белорусский портал TUT.BY в Одноклассниках. Читайте самые интересные новости страны на OK! Приглашайте друзей!

TUT.BY (@tutby) | Twitter
The latest Tweets from TUT.BY (@tutby). Жизнь TUT в новостях и интерактиве. Мы слушаем, слышим и говорим с вами. Качайте наши мобильные приложения на https://t.co/Cqwt2SAsbL.

TUT.BY | ВАША ПОЧТА ТУТ | Вход
Неограниченный размер почтового ящика. Поддержка протоколов POP3, IMAP4, SMTP, WAP и Web. Антивирусная проверка почты и спам-фильтр.
 
Твой код работает
Код:
Развернуть Свернуть Копировать
Результат: Tutu.ru: «Туту.ру» — онлайн-бронирование билетов
Поиск, бронирование и покупка билетов на поезда дальнего следования и авиаперелёты. База информации для путешественников (телефоны авиакомпаний и вокзалов, проезд в аэропорты). Расписание электричек.

«Tut.by» — белорусский портал
Новости политики, экономики, бизнеса, культуры, спорта, хроника происшествий. Афиша событий. Автообъявления. Прогноз погоды.

TUT.BY - YouTube
TUT.BY — крупнейший информационный ресурс Беларуси. Ежедневно на наш сайт заходит читает более 800 тысяч человек, чтобы узнать главные новости в стране и мир...

Сериалы ТУТ! Сериалы онлайн смотреть бесплатно.
Умираю со смеху / Я тут умираю. (2 сезон) 8 серия (Hamster).тут ПонаЕхало Понедельник - день тяжелый Пончик Люся Попадец Попечитель Попсовый Эпос Популярна и влюблена...

Зайцев.нет! Скачать музыку бесплатно в формате MP3 –…
Зайцев.нет — слушать музыку онлайн бесплатно Сегодня все большее количество интернет-пользователей предпочитают слушать любимые песни онлайн.

Белорусский портал TUT.BY | ВКонтакте
Хочешь быть в тренде? Читай новости на TUT.BY! Самые жаркие обсуждения событий только у нас!

TUT.RU - тепловизоры и прицелы
Торговый дом. Каталог товаров: геодезические и оптические приборы, охотничье, рыболовное и туристическое снаряжение, специальное оборудование. Описание, технические характеристики, видео обзоры, цены, онлайн-заказ. Распродажа. Способы оплаты и доставки.

Белорусский портал TUT.BY | OK.RU
Группа Белорусский портал TUT.BY в Одноклассниках. Читайте самые интересные новости страны на OK! Приглашайте друзей!

TUT.BY (@tutby) | Twitter
The latest Tweets from TUT.BY (@tutby). Жизнь TUT в новостях и интерактиве. Мы слушаем, слышим и говорим с вами. Качайте наши мобильные приложения на https://t.co/Cqwt2SAsbL.

TUT.BY | ВАША ПОЧТА ТУТ | Вход
Неограниченный размер почтового ящика. Поддержка протоколов POP3, IMAP4, SMTP, WAP и Web. Антивирусная проверка почты и спам-фильтр.


Ничего себе! А почему тогда у меня не работает? Точнее работает, но только на 2 первых результата в выдаче?
 
Блин, обновил зенку, все равно та же беда! Пишет в логе: найдено узлов 10. а дальше тексты только с 2х первых:(
 
какая интересная деталь еще. в логе видно 2 обработанные строчки, если же кликнуть на лог - будет 10. но при последующей генерации почему то все мешается из 2 строчек этих, а не из 10ти
 
если пользоваться зеннопостер про версией на нескольких компах, то он будет подгружать на каждом оплаченные шаблоны или можно сделать чтобы только на одном?
 
если пользоваться зеннопостер про версией на нескольких компах, то он будет подгружать на каждом оплаченные шаблоны или можно сделать чтобы только на одном?
Да, на каждом компьютере будут все купленные (выписанные) шаблоны..
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)