Semih DURAN Ответов: 2

Как получить цену продукта с веб-страницы?


Я вытаскиваю html-код с веб-страницы, но цена не указана в html-коде. Вы не могли бы мне помочь?

Скриншот

Что я уже пробовал:

HtmlAgilityPack.HtmlWeb web = new HtmlAgilityPack.HtmlWeb();
HtmlAgilityPack.HtmlDocument doc = web.Load("https://www.ceptesok.com/powerball-tablet-60li");
string html = doc.DocumentNode.InnerHtml;

2 Ответов

Рейтинг:
0

Afzaal Ahmad Zeeshan

Первое, что мы не можем увидеть скриншот, который вы опубликовали—попробуйте использовать стабильный файлообменник, такой как Google Drive или Microsoft OneDrive.

Цитата:
но цена не в html коде
Во-вторых, если цена не указана в HTML, то вы не можете получить ее, соскребая ее с веб-страницы. Хороший способ получить значения для элементов на другом веб-сайте-это всегда рассмотреть возможность использования их API. Большинство онлайн - сервисов действительно предоставляют свои API.

Веб-API - Википедия[^]

Если вы хотите попробовать халявные способы получения результатов—например, загрузка контента в HTML и его синтаксический анализ—тогда вам нужно положиться на их доброту и предоставить данные в их HTML для вас, чтобы наскрести, другого способа получить их нет.

Я сам посетил этот сайт и действительно вижу значение цены в HTML. Вам нужно убедиться, что вы следуйте по правильному пути вниз по HTML DOM чтобы получить ценность. Возможно, это и есть та самая проблема.


Рейтинг:
0

John Parker

Привет,

Я посмотрел на страницу в браузере Chrome, и значение, которое вы хотите очистить, не включено в опцию "просмотр источника страницы", то есть его нет в HTML, возвращаемом веб - сервером.

Однако, если вы используете Chrome DevTools, встроенный в браузер (клавиша F12), вы можете увидеть значение, которое вы хотите очистить в конечном визуализированном HTML:

<div class="pricebox"><div class="pricebox-content"><span class="currency pricebox-currency"></span><span class="pricebox-main">32</span><span class="pricebox-decimal">90</span></div></div>

Поэтому, чтобы очистить эти значения, вам нужно будет визуализировать страницу так, как это делает браузер, а затем очистить значения из результирующего DOM.

Вы можете использовать элемент управления веб-браузера для загрузки и визуализации страницы, а затем соскоблить с нее результирующий окончательный HTML-код отображения.

Видеть
CefSharp - быстрый веб-браузер для приложений WinForms и WPF[^]

и:
Галерея NuGet | CefSharp.Закадровый 73.1.130[^]