|
1 / 1 / 0
Регистрация: 03.02.2020
Сообщений: 5
|
|
Как работает AngleSharp?03.02.2020, 16:38. Показов 16120. Ответов 35
Метки нет (Все метки)
Доброго времени суток друзья! Я совсем новенький только начал изучать C# (3й день). Мне нужно понять на примере как с помощью библиотеки AngleSharp парсить данные с сайтов, (курсы валют, прогнозы, новости итд).
Помогите пожалуйста покажите мне на примере (как этот код выглядеть будет) как спарсить с помощью AngleSharp к примеру с сайта https://www.rfaq.ru/ спарсить одну строку которая заключена в теги <h3></h3> в данном случае это слово Главная и результат то что спарсило вывести в консоль. Покажите пожалуйста пример, как это реализовать
1
|
|
| 03.02.2020, 16:38 | |
|
Ответы с готовыми решениями:
35
Как парсить страницу на AngleSharp? Как подключить библиотеку AngleSharp? Как вывести все данные из выборки с использованием AngleSharp? |
|
1151 / 743 / 483
Регистрация: 21.01.2014
Сообщений: 1,903
|
|
| 16.01.2021, 15:40 | |
|
0
|
|
|
21 / 21 / 3
Регистрация: 24.05.2014
Сообщений: 1,063
|
|
| 16.01.2021, 15:42 | |
|
Lexeq, точно. А как его заполнить в AS?
И покажите, пожалуйста, как делать без await-async
0
|
|
|
1151 / 743 / 483
Регистрация: 21.01.2014
Сообщений: 1,903
|
||||||
| 16.01.2021, 15:46 | ||||||
|
Титан_1,
Не по теме:
1
|
||||||
|
21 / 21 / 3
Регистрация: 24.05.2014
Сообщений: 1,063
|
|
| 16.01.2021, 17:55 | |
|
Хм, а как с помощью AngleSharp вытянуть содержимое атрибутов (или как там они называются)? Например, вытянуть "https://link" из link?
<a href="https://link" </a>
0
|
|
|
1151 / 743 / 483
Регистрация: 21.01.2014
Сообщений: 1,903
|
||||||
| 16.01.2021, 19:10 | ||||||
|
Титан_1,
1
|
||||||
|
21 / 21 / 3
Регистрация: 24.05.2014
Сообщений: 1,063
|
|
| 16.01.2021, 19:17 | |
|
Lexeq,
IDocument.GetAttribute("href"); и IHtmlAnchorElement.Attributes["href"].Value равноценны или это совершенно разные функции? Что делает GetAttribute("href")?
0
|
|
|
21 / 21 / 3
Регистрация: 24.05.2014
Сообщений: 1,063
|
|||||||||||
| 21.01.2021, 02:26 | |||||||||||
|
Мне кажется, я как-то неправильно понимаю метод "Filter"
вот пример кода:
0
|
|||||||||||
|
21 / 21 / 3
Регистрация: 24.05.2014
Сообщений: 1,063
|
|
| 23.01.2021, 00:09 | |
|
Спасибо, но вопрос насчёт Filter ещё актуален
0
|
|
|
Администратор
|
|||||||
| 23.01.2021, 00:40 | |||||||
QuerySelectorAll<IHtmlAnchorElement>("tr") - здесь мы по идее хотим получить все элементы tr внутри таблицы, но в качестве типа элемента зачем-то указан IHtmlAnchorElement. То есть элемент <a>. По идее нужно использовать IHtmlTableRowElement..Filter("td>div>input[value*="LT"]") - включаем здравый смысл. Мы получили список строк, и фильтруем их по селектору который начинается с td. Сколько элементов подойдет под этот селектор? Правильно - ноль. Зачем тут Filter вообще неясно. Если в JS у вас вызывается querySelector, а затем querySelectorAll, то что мешало также написать в C#? Не приходило в голову что методы AngleSharp специально названы также как в JS чтобы облегчить миграцию?
0
|
|||||||
|
21 / 21 / 3
Регистрация: 24.05.2014
Сообщений: 1,063
|
||
| 23.01.2021, 16:49 | ||
|
OwenGlendower, в JS я только проверял существует ли такие элементы. Как там реализуется Filter я не совсем понимаю, поэтому использовал обычный querySelector. Задача другая: нужно выбрать все
tr, где td>div>input[value*="LT"] – выбрать именно tr, а не импутыДобавлено через 4 минуты
0
|
||
|
Администратор
|
||
| 23.01.2021, 21:15 | ||
tr не может одновременно соответствовать селектору td>div>input[value*="LT"]
0
|
||
|
21 / 21 / 3
Регистрация: 24.05.2014
Сообщений: 1,063
|
|
| 23.01.2021, 22:10 | |
|
OwenGlendower, не понимаю. Каким методом я смогу выбрать все
tr, внутри которых содержатся td>div>input[value*="LT"]?
0
|
|
|
Администратор
|
|
| 23.01.2021, 22:51 | |
|
Титан_1, в JavaScript как бы вы это сделали?
0
|
|
|
21 / 21 / 3
Регистрация: 24.05.2014
Сообщений: 1,063
|
||||||||||||||||
| 24.01.2021, 15:33 | ||||||||||||||||
|
OwenGlendower,
Я, конечно, могу сделать так:
.ParentElement в циклено это не очень красиво в функциональном смысле Добавлено через 1 час 34 минуты Хм, в принципе, для моих целей будет достаточно
0
|
||||||||||||||||
|
21 / 21 / 3
Регистрация: 24.05.2014
Сообщений: 1,063
|
||||||
| 25.01.2021, 00:10 | ||||||
|
Хм. Почему, если дать одну и ту же ссылку браузеру и AngleSharp'у с UserAgent браузера, то HTML разный? Как этого избежать?
Добавлено через 3 минуты Вероятно, виноват
Добавлено через 22 минуты Хм, а вот в Tor'е HTML аналогичный. Интересно, от чего это зависит и как сделать HTML как в Chromium/Firefox Добавлено через 26 минут Хм. после чистке кеша, в Firefox с отключенным JS HTML превратился в такой же. Значит, причина в нём. А это, в свою очередь, значит, что "более полный" HTML без безголовых браузеров не получить
0
|
||||||
| 25.01.2021, 00:10 | |
|
Помогаю со студенческими работами здесь
36
Авторизация на AngleSharp Парсинг на AngleSharp Парсинг через AngleSharp
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Debian 13: Установка Lazarus QT5
ВитГо 09.05.2026
Эта инструкция моя компиляция инструкций volvo
https:/ / www. cyberforum. ru/ blogs/ 203668/ 10753. html
и его же старой инструкции по установке Lazarus с gtk2. . .
|
Нейросеть на алгоритме "эстафета хвоста" как перспектива.
Hrethgir 06.05.2026
На десерт, когда запущу сервер.
Статья тут https:/ / habr. com/ ru/ articles/ 1030914/ . Автор я сам, нейросеть только помогает в вопросах которые мне не известны - не знаю людей которые знали-бы. . .
|
Асинхронный приём данных из COM-порта
Argus19 01.05.2026
Асинхронный приём данных из COM-порта
Купил на aliexpress термопринтер QR701. Он оказался странным. Поключил к Arduino Nano. Был очень удивлён. Наотрез отказывается печатать русские буквы. Чтобы. . .
|
попытка написать игровой сервер на C++
pyirrlicht 29.04.2026
попытка написать игровой сервер на плюсах с открытым бесконечным миром.
возможно получится прикрутить интерпретатор питон для кастомизации игровой логики.
что есть на текущий момент:. . .
|
|
Контроль уникальности выбранного документа-основания при изменении реквизита
Maks 28.04.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРемонтСпецтехники", разработанного в КА2.
Задача: уведомлять пользователя, если указанная заявка (документ-основание). . .
|
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
|
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2.
Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
|
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2.
Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом.
В. . .
|