Обсуждение статьи "Извлечение структурированных данных из HTML-страниц с помощью CSS-селекторов"

 

Опубликована статья Извлечение структурированных данных из HTML-страниц с помощью CSS-селекторов:

В статье описан универсальный метод анализа и конвертации данных из HTML-документов, основанный на CSS-селекторах. Торговые отчеты, отчеты тестера, ваши любимые экономические календари, публичные сигналы и мониторы счетов, дополнительные источники онлайн котировок - все это становится доступным из MQL.

Трейдерам хорошо знакомы некоторые стандартные HTML-файлы, например, отчеты тестирования и торговые отчеты, которые генерирует MetaTrader. Иногда мы получаем такие файлы от знакомых или скачиваем из интернета и хотим проанализировать на графике, для чего необходимо преобразовать данные из HTML в табличный вид, в простейшем случае — в CSV-формат.

CSS-селекторы в нашей утилите позволяют это сделать автоматически.

Заглянем внутрь HTML-файлов. Вот внешний вид и часть HTML-кода торгового отчета MetaTrader 5 (файл ReportHistory.html, прилагается).

Внешний вид и часть HTML-кода торгового отчета

Внешний вид и часть HTML-кода торгового отчета

Автор: Stanislav Korotky

 
Если Вам потребуется помощь в настройке CSS-селекторов для конвертации конкретной веб-страницы, Вы можете приобрести WebDataExtractor (для MetaTrader 4для MetaTrader 5) и получить рекомендации в рамках поддержки продукта. Однако наличие исходных кодов позволяет использовать весь функционал и произвольно расширять его абсолютно бесплатно.
Возможно ли, чтобы Вы показали здесь формирование set-файла для этого html-отчета?
 

только одно замечание - сущность которую вы описываете , где-то в большом реальном мире зовётся XmlPath :-) 

хотя-бы упомянуть надо было.

 
Maxim Kuznetsov:

только одно замечание - сущность которую вы описываете , где-то в большом реальном мире зовётся XmlPath :-) 

хотя-бы упомянуть надо было.

Вы последний абзац читали?

 
fxsaber:
Возможно ли, чтобы Вы показали здесь формирование set-файла для этого html-отчета?

Имеется в виду, распарсить HTML, генерируемый библиотекой Report? Возможно, но этот HTML генерится MQL-ем, так что не понятно, зачем парсить HTML, если библиотека Report может сама сразу сохранять CSV по запросу?

 
Stanislav Korotky:

Имеется в виду, распарсить HTML, генерируемый библиотекой Report? Возможно, но этот HTML генерится MQL-ем, так что не понятно, зачем парсить HTML, если библиотека Report может сама сразу сохранять CSV по запросу?

HTML-отчет передается другому лицу.

 
fxsaber:

HTML-отчет передается другому лицу.

Ну, так и я про то же: если для другого лица, то можно сгенерить не только html, но и csv ;-).

Можете дать какой-нибудь готовый пример?

 
Stanislav Korotky:

Ну, так и я про то же: если для другого лица, то можно сгенерить не только html, но и csv ;-).

Тот, кто делает html-отчет, не особо заинтересован в довеске в виде csv. Более того, часто задействуется обезличенный вариант html-отчета. Например, такой может выкладываться на форум. Соответственно, кто-то другой с форума берет этот отчет и парсит через Ваш экстрактор.

Можете дать какой-нибудь готовый пример?

Здесь в прицепе.

 
REGEXP ????
 
Hely Rojas:
REGEXP ????

Для прасинга HTML с учетом иерархии элементов CSS-селекторы приспособлены гораздо лучше.

 
Исправления мелких ошибок (связанных с атрибутами без значений) и дополнения (отбор родительских элементов по характеристикам дочерних элементов и условие отрицания в атрибутах - оба новшества вне стандарта CSS).
Файлы:
Причина обращения: