Работа с HtmlAgilityPack

287
09 августа 2017, 17:24

Нужна помощь. Мне требуется распарсить HTML-страницу после нажатия на ней на некоторую кнопку. Как это сделать с помощью HtmlAgilityPack?

Answer 1

Вот простой пример парса элементов с тегом "li" на сайте wikipedia, в этой библиотеке есть несколько Get'ов, то-есть можно парсить не только по тегам, а ещё например можно по id'ам и name'ам.

    public String GetHTML(String urlAddress)
    {
        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(urlAddress);
        HttpWebResponse response = (HttpWebResponse)request.GetResponse();
        if (response.StatusCode == HttpStatusCode.OK)
        {
            Stream receiveStream = response.GetResponseStream();
            StreamReader readStream = null;
            if (response.CharacterSet == null)
            {
                readStream = new StreamReader(receiveStream);
            }
            else
            {
                readStream = new StreamReader(receiveStream, Encoding.GetEncoding(response.CharacterSet));
            }
            string data = readStream.ReadToEnd();
            return data;
            response.Close();
            readStream.Close();
        }
        return null;
    }
    public void parse()
    {
        var parser = new HtmlParser();
        var document1 = parser.Parse(GetHTML("https://ru.wikipedia.org/wiki/Заглавная_страница"));
        var Tab = document1.GetElementsByTagName("li");
    }

НО лучше сделать как посоветовал EvgeniyZ, загрузить просто JSON и его распарсить.

READ ALSO
c# webbrowser запуск ролика youtube c кнопки

c# webbrowser запуск ролика youtube c кнопки

ЗдравствуйтеНе подскажите возможно ли запустить погруженный ролик с ютуба с кнопки? И если нет, то как можно сделать запрет на клик правой...

265
Получить fps сторонней игры

Получить fps сторонней игры

Нужно получить fps из, допустим, доты в реальном времени для того чтобы передать их в com-portУстройство на другом конце порта будет это отображать

260
Поле видимости ИД в паршалах

Поле видимости ИД в паршалах

Теоретический вопрос, в один view вложены два partialЕсли в одном прописан id(например id=name) видна ли id из другого partial?

314
Живой фильтр ListCollectionView

Живой фильтр ListCollectionView

Имеется ObservableCollectionВ нем лежат объекты с интерфейсом INotifyPropertyChanged

383