Ответы пользователя по тегу .NET
  • Кто то знает хороший метериал по парсерам?

    @DanyaMo
    C#/.Net developer
    AngeSharp хорошая библиотека, но не поддерживает XPath запросы. Имхо, для парсинга гораздо эффективнее использовать XPath и соответственно библиотеки которые его поддерживают, например HtmlAgilityPack или встроенные средства Selenium/Puppeteer.
    Примеры XPath запросов, которые очень сложно или невозможно написать на CSS:

    Найти элемент A, который содержит текст "Login" или "Войти":
    //div[@class='header__login-head']/a[text()='Login' or text()='Войти']

    Найти элемент DIV, у которого значение атрибута class содержит подстроку "line-header__filter-text" и текст "Планшеты" и вернуть прародителя этого элемента:
    //div[contains(@class, 'line-header__filter-text') and text()='Планшеты']/../..

    Возможность искать по тексту содержимого элемента или атрибутов и комбинировать условия при помощи логических операторов очень мощная вещь. И это лишь малая часть. В AngleSharp пришлось бы писать более простой CSS запрос, а дальше искать DOM элемент в коде C# при помощи навигации по DOM дереву.

    Эти запросы будут работать одинаково (почти) в любой библиотеке которая поддерживает XPath, а так же в Chrome Dev Tools в строке поиска на вкладке Elemenets (там же удобно и отлаживать). Так же есть различные плагины для отладки или построения запросов в Chrome или Firefox.

    Туториал по XPATH
    Ответ написан
    Комментировать