Парс через Html Agility Pack

220
26 июля 2017, 20:19

Требуется спарсить города(сайт и xPath указаны в коде), но парсятся пустые строки(есть только outerhtml = " option value="spb> < /option" " - для питера, но нужен именно полное название - Санкт-Петербург ), как предполагаю, города загружаются через JS, поэтому их при парсе нет. вопрос очевиден: как все-таки спарсить города?

var web = new HtmlWeb();
        var document = web.Load("https://finance.rambler.ru/currencies/exchange-{city.Value}");
        var nodes = document.DocumentNode.SelectNodes("/html/body/div/main/section/section/section/section/table/tbody/tr/td/div");

ПЫ на сайте outerhtml = "option value="spb">Санкт-Петербург< /option"

Answer 1
HtmlWeb web = new HtmlWeb();
HtmlDocument doc = web.Load("https://finance.rambler.ru/currencies/exchange/");
foreach (HtmlNode node in doc.DocumentNode.SelectNodes("//select[@class='towns standart-selector']//option"))
{
    string cityValue = node.Attributes["value"].Value;
    string cityName = node.NextSibling.InnerText;    
}

Вместо cityValue и cityName записываете/выводите данные туда, куда вам нужно.

READ ALSO
Динамическая перезагрузка плюсовых dll

Динамическая перезагрузка плюсовых dll

Добрый деньЕсть приложение на C# в которое в процессе работы загружаются managed и unmanaged dll'ки

245
Перегрузка оператора ++

Перегрузка оператора ++

Здравствуйте, есть класс к которому нельзя прибавить больше 1 значения, в классе идет индексация эллементов, и прочии действия)

203
Отображение файлов архива

Отображение файлов архива

ЗдравствуйтеМожете помочь? Пользователь открывает выбранный архив и как сделать отображение списка файлов архива в wpf c#?

212
Странное поведение Thread.Sleep [дубликат]

Странное поведение Thread.Sleep [дубликат]

На данный вопрос уже ответили:

200