#StandWithUkraine 🇺🇦

Підтримай / Поддержи / Donate

SaveLife.in.ua / Pritula Foundation

Infographica

Украинский блог об инфографике и визуализации данных

Считываем данные с интернет страниц

Нахождение данных — одно из самых важных занятий инфографистов, журналистов, аналитиков и т.д., одним словом — все, кому нужны данные по роду их деятельности. Это некоторый базис, без которого сложно что-либо сделать. Так сложилось, что данные навсегда хранятся в удобном виде и сразу готовы к «употреблению» — их нужно откуда-то взять и отформатировать, создав так называемое tidy data. Поскольку большой объем информации часто отображается нам через приложения, интернет страницы — естественно возникает вопрос как забрать ту или иную информацию с них(чаще всего в виде html-страниц).

Раньше считал, что это можно реализовать только с помощью программирования, зная Python, Ruby и т.д., написав свой парсер или использовав стандартный функционал встроенных модулей (например, в R). Но решая одну задачу, для которой мне нужен был сервер, который автоматически каждую неделю считывает обновления на страницах, и подгоняемый временем и ленью — нашел несколько ресурсов, которые позволяют считывать данные с html-страниц без дополнительных строчек кода, и сразу получать json. Это стало настоящей панацеей и позволило сэкономить время.

Что же удалось разыскать — парсим сайты проще, минимум кода:

google-news-rss-reader-in-objective-c

источник: schogini.com

jsoup Изначально, jsoup — библиотека для Java для парсинга HTML документов. Но на сайте проекта есть замечательная возможность попробовать как работает библиотека в онлайн режиме. Хочу заметить, что в данном случае, вам пригодиться понимание DOM и как достать HTML код страницы, с которой хочет получить данные(в Chrome/Mozilla пробуйте F12). Как результат вы получаете списком все данные по необходимым вам элементам.

import.io Еще один представитель автоматического считывания данных с веб-страниц. самые простейшие функции можно делать с помощью веб-версии, но больший акцент делается на десктопную версию, которая напоминает браузер, интерфейс мне показался неинтуитивен, и сервис нужно в ручном режиме обучать какие данные тебе нужны — и сразу не нашел, что нужно нажать, чтобы запустить процесс. Для лучшего считывания данных лучше когда они в списке или в однородных структурах.

kimonolabs.com на мой взгляд, прокачанный вариант предыдущего сервиса. Работает в двух версиях: онлайн и как расширение под Chrome. Интуитивно понятный интерфейс и хорошо адаптивная система выделения данных, а в онлайн версии позволяет создавать приложение, которое будет само обновлять данные, заходя на указанную страницу. Это все без единой строчки кода — просто чудо. Рекомендую, лично пользуюсь расширением.

morph.io Это сервис для скрепинга данных сайтов: позволяет создавать приложения, что сами будут с указаной периодичность посещать необходимые страницы. Отличие от kimonolabs — необходимость самому написать парсер и что нужно считывать, подвязав скрип через GitHub. Кому-то это может показаться нужным, но когда нужна гибкость в скатывание и проверка условий, считаю, этот сервис — отличным выбором.

Если, что-то интересное по теме пропустил — прошу написать мне в ФБ.

P.S. Для работы с данными рекомендую:
Mr. Data Converter Классический инструмент, назвал бы его — настольной книгой. Конвертирует CSV файлы в XML, JSON, HTML и некоторые типы данных для Python, Ruby