#c_sharp #парсер #anglesharp
Подскажите пожалуйста как из этого блока выбрать только вот это : 8.85 р / штдисконт 8.60Сейчас пробую так: var price = document.Result.QuerySelectorAll(@".price"); Но в результате выводится все, что находится в блоке
8.85 р / шт
Ответы
Ответ 1
Я дал вам ссылку на вопрос на enSO, там есть красивый вариант (через чтение AngleSharp'ом безымянных блоков CSS) и мой варварский в вопросе (вырезанием всех "лишних" нод). В вашем случае начните с чего-то типа: var parser = new HtmlParser(); var document = parser.Parse(@"дисконт 8.60"); var priceBlocks = document.QuerySelectorAll("div.price"); foreach (var block in priceBlocks) { var element = block.ChildNodes.First(o => o.NodeType == AngleSharp.Dom.NodeType.Text && o.TextContent.Trim() != ""); element.Text().Trim().Dump(); } Linqpad говорит, что вам вполне сойдёт для начала: Писал наспех, поэтому подразумеваю, что вы понимаете, что такое linq.
8.85 р / шт
Комментариев нет:
Отправить комментарий