Парсинг HTML c xidel
Например, нужно получить текущую температуру с сайта pogoda.mail.ru:
Прелесть, да? А вот исходный HTML блока со значением температуры (маленький кусочек страницы!):
Еще красивее, ггг. Адепты sed или awk тут сразу грустнеют физиономией лица, и стиснув зубы сочиняют регулярное выражение, похожее на след приземления тунгусского метеорита в сибирской тайге. Между тем, есть гораздо более элегантное решение, всего в одну строку:
Xidel - это очень крутой инструмент для парсинга всяких xml-html и прочего. Единственная проблема с ним - крайне скудная документация с всего парой примеров, поэтому приходится заглядывать например на Stackoverflow.
Прелесть, да? А вот исходный HTML блока со значением температуры (маленький кусочек страницы!):
Еще красивее, ггг. Адепты sed или awk тут сразу грустнеют физиономией лица, и стиснув зубы сочиняют регулярное выражение, похожее на след приземления тунгусского метеорита в сибирской тайге. Между тем, есть гораздо более элегантное решение, всего в одну строку:
xidel http://pogoda.mail.ru/prognoz/sankt_peterburg/ -q -e '<div class="information__content__temperature">{.}</div>*'
19°
Xidel - это очень крутой инструмент для парсинга всяких xml-html и прочего. Единственная проблема с ним - крайне скудная документация с всего парой примеров, поэтому приходится заглядывать например на Stackoverflow.


Отправить комментарий