Как разобрать div, как я хочу гиперссылку внутри тега h3 - PullRequest
0 голосов
/ 06 июня 2019

[Здравствуйте, разработчики, так как я давно решал эту проблему, но не получил никакого плодотворного результата, что заставило меня получить помощь от старших сотрудников в StackOverflow, поскольку я использую HtmlAgilityPack в консольном приложении c # для очистки веб-страниц, поскольку яПрикрепленное изображение, я хочу разобрать div от начала до тех пор, пока тег h3 не содержит гиперссылки, как я могу это сделать с помощью пакета agility HTML.

Я пробовал несколько решений для анализа, но безрезультатный результат.

Прикрепленное изображение тоже 1

Код здесь:

        static string url = "https://www.rozee.pk/job/jsearch/q/all/fc/1184/fin/1/";
        HtmlWeb web = new HtmlWeb();
        HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
        doc = web.Load(url);
        var nodes = doc.DocumentNode.SelectSingleNode("//div[@class='job-listing opages npages']/div[@class='j-area']/div[@class='jlist float-left']/div[@class='job']/div[@class='jcont']/div[@class='jhead']/div[@class='jobt float-left']/h3[@title]/a[@href]").InnerText;
        Console.WriteLine(nodes);`

Это дает

Исключение нулевого задания не было обработано.Используйте новое ключевое слово для создания экземпляра Object.

1 Ответ

0 голосов
/ 07 июня 2019
string htmlText = doc.ParsedText;

Это даст вам содержимое HTML-страницы, которую вы пытаетесь получить. Таким образом, вы найдете в этом текстовом файле определенный тег, который вы пытаетесь получить. например: <bdi>Wordpress Developer</bdi>

Вы не сможете увидеть этот тег в этом HTML-контенте.

ПРИЧИНА: html пакет agility не может загружать динамическое содержимое. Это не действует как ваш браузер. Это просто поможет вам разобрать текст HTML. Таким образом, вы можете перемещаться или перейти к HTML.

Читайте это так что статья и вы поймете.

Подсказка: если вы внимательно посмотрите на doc.parsedText, вы можете найти скрипт, содержащий данные, которые вы ищете.

...