Основний інструмент роботи: R. Перевага використання саме програмування для отримання інформації з веб-сторінок у дешевизні та гнучкості інструменту. Ви зможете пристосувати його під будь-яку задачу, яка стосується отримання інформації з веб-сторінок.
В цьому курсі мова буде йти про способи отримання інформації з веб-сторінок. Загалом є два основних механізми:
- робота з Web API
- парсинг
Оскільки мова йде про отримання і подальше зберігання даних, то вступне заняття буде у великій мірі присвячено форматам даних в R.
Працювати ми будемо з такими форматами даних:
- vector
- data_frame
- list
Крім цього, розглянемо, як обробити в R файл у форматі json, оскільки це найпоширеніший формат віддачі інформації з API.
Зміст: бібліотека httr та методи POST і GET
Практична користь: як отримати стандартизовані дані з бази веб-сторінки.
Зміст: алгоритм написання функції для отримання інформації з будь-якого сайту, у якого є API.
Практична користь: виникає проблема отримання даних із сайту, у якого є API, але нема готового інструменту взаємодії з ним в R. Як самому за короткий строк це зробити?
Складність: потрібно буде зрозуміти, як писати прості функції в R і як керувати організацією даних в R.
Зміст: робота з бібліотекою Rfacebook. Додатково розглянемо програму Facepager, через яку можна отримувати таку інформацію без програмування.
Практична користь: найшвидший спосіб отримати великий масив даних інформації з публічних сторінок та груп Facebook. Однак він не діє для персональних сторінок.
Складність: середня. Більшість функцій для викачки вже написано, просто розглянемо, як можна їх адаптувати до різних задач.
Зміст: робота з бібліотеками twitteR та vkR.
Практична користь: розглянемо швидке і стандартизоване отримання інформації зі сторінок VK i Twitter.
Складність: середня. Більшість функцій для викачки вже написано, просто розглянемо, як можна їх адаптувати до різних задач.
Зміст: написання функцій для збирання і стандартизації контенту з коду веб-сторінок.
Практична користь: коли в сайту нема API або API віддає замало інформації іншого способу немає.
Зміст: можливості імітації роботи користувача в браузері через створення Selenium Driver в пакеті RSelenium.
Практична користь: найкращий спосіб отримувати дані з веб-сторінок, які вимагають взаємодії з користувачем (авторизація, навігація сторінками).
Складність: функції для роботии вже готові, однак потрібно вміти їх адаптувати та розбиратися в структурі коду веб-сайтів.
Зміст: бібліотека rvest і філософія набору пакетів tidyverse. Економний режим парсингу веб-сторінок.
Практична користь: ці бібліотеки дозволяють парсити веб-сторінки з мінімальним навантаженням на оперативну пам'ять та процесор. Дуже корисно при великих обсягах викачування.
Складність: найбільша. Доведеться розібратися з базовими фукціями tidyverse, однак їх призначення інтуїтивно зрозуміле. Таке ознайомлення буде корисне не тільки для задач викачки даних, а і для роботи аналітика в R в принципі.
Зміст: інтеграція можливостей Python в R на прикладі швидкого парсингу тексту новин у пакеті readability. Використання Mercury API в пакеті hrg (скрапінг новин + супутньої інформації).
Практична користь: дуже простий спосіб отримати текст веб-сторінки, який не вимагає вивчення її структури.
Складність: найменша. Просто напишем просту функцію, в якому буде достатньо просто вставити посилання, щоб отримати повний текст статті за лінком.
Зміст: розглянемо, як можна швидко додавати в базу оновлення новин в RSS.
Практична користь: обробка відмінного від інших вже розглянутих форматів даних. Зручний спосіб моніторингу інтернет-новин.
Складність: середня. ## Що далі?
На завершення трохи про обробку тексту в пакетах tm, tidytext та text2vec. Це доцільно розглянути, оскільки велика частина інформації з вебу, яку ми отримуємо є текстовою. Ці бібліотеки є найкориснішими для text mining.
- розповідь+презентація.
- практична робота (на прикладі конкретного ресурсу поглянемо, як працюють згадані вище інструменти) +завдання (відтворення пройденого на іншій веб-сторінці).
- код за змістом занять, за опомогою якого можна відтворити показане на заняттях.
- шпаршалки по базових поняттях і функціях роботи в R, форматах даних.
Необхідні установлені технології:
- R
- RStudio
- Java 8
- Python
- Selenium
Необхідні бібліотеки:
- tidyverse
- httr
- RCurl
- XML
- rvest
- RSelenium
- xml2
- reticulate
- rfacebook
- vkR