Сова стала объяснять, что такое Необходимая или Соответствующая Спинная Мускулатура. Она уже объясняла это когда-то Пуху и Кристоферу Робину и с тех пор ожидала удобного случая, чтобы повторить объяснения, потому что это такая штука, которую вы спокойно можете объяснять два раза, не опасаясь, что кто-нибудь поймёт, о чём вы говорите.(А. Милн)
Можно долго и нудно бороться с тегами скаченной веб-страницы, однако можно использовать CSS-селекторы.
library(tidyverse); library(rvest); library(tidytext)
source <- read_html("https://ling.hse.ru/news/")
rvest
source %>%
html_nodes("div.post:nth-child(2) > div:nth-child(2) > h2:nth-child(1)") %>%
html_text() ->
titles
titles
## [1] "«Проблема сохранения языка актуальна для многих народов, в том числе и в России»"
rvest
source %>%
html_nodes("h2") %>%
html_text() ->
titles
titles
## [1] "«Студенты в России не догадываются, как хорошо выглядят их дипломы за границей»"
## [2] "«Проблема сохранения языка актуальна для многих народов, в том числе и в России»"
## [3] "«Взглянуть на историю литературы с нового нестандартного угла»"
## [4] "Анастасия Лопухина на конференции Linguistic Evidence в Германии"
## [5] "«Отделить собаку от супа»: отчет о горномарийской экспедиции"
## [6] "Разработка Центра цифровых гуманитарных исследований номинирована на DH Awards 2017"
## [7] "ЕВРика: сборник и база данных «поисков» и «находок»"
## [8] "Поздравляем Любовь Нестеренко с рождением дочери"
## [9] "«Акка Кнебекайзе школы лингвистики»"
## [10] "Георгий Мороз рассказал о лингвистике в Лектории ВДНХ"
Давайте сделаем аналогичное для текстов
source %>%
html_nodes("div.post__text") %>%
html_text() ->
texts
head(texts)
## [1] "\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t.fa-islider_box .fotorama__img { max-width: 100% !important;}\n\t\t\t\t\n\t\t\t\tВыпускница бакалавриата «Фундаментальная и прикладная лингвистика» Мария Медведева — об аспирантуре в Голландии, автоматическом предсказании решений судов и особой атмосфере Гронингена.\n\t\t\t"
## [2] "\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t.fa-islider_box .fotorama__img { max-width: 100% !important;}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\tДоцент школы лингвистики НИУ ВШЭ Борис Орехов выступил на радио в программе, посвященной Международному дню родного языка и сохранению малых языков.\n\t\t\t"
## [3] "\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t.fa-islider_box .fotorama__img { max-width: 100% !important;}\n\t\t\t\t\n\t\t\t\t\n\t\t\t"
## [4] "\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t.fa-islider_box .fotorama__img { max-width: 100% !important;}\n\t\t\t\t\n\t\t\t\tНаучный сотрудник Лаборатории нейролингвистики НИУ ВШЭ Анастасия Лопухина на конференции Linguistic Evidence в Германии\n\t\t\t"
## [5] "\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t.fa-islider_box .fotorama__img { max-width: 100% !important;}\n\t\t\t\t\n\t\t\t\tВ Москву вернулась очередная марийская экспедиция Школы лингвистики НИУ ВШЭ (совместная с МГУ им. Ломоносова). Шестой состав привез домой новое знание об архитектуре горномарийского языка – и поучительную историю о глупой собаке.\n\t\t\t"
## [6] "\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t.fa-islider_box .fotorama__img { max-width: 100% !important;}\n\t\t\t\t\n\t\t\t\tВеб-сервис Easy Linavis позволяет максимально быстро превратить текст или иные данные в граф и исследовать его методами сетевого анализа. Навыки программирования при этом не требуются.\n\t\t\t"
Скачайте список нобелевских лауреатов по литературе.
## [1] "List of Nobel laureates in Literature"
## [2] "Shmuel Yosef Agnon"
## [3] "Vicente Aleixandre"
## [4] "Svetlana Alexievich"
## [5] "Ivo Andrić"
## [6] "Miguel Ángel Asturias"
## [1] "https://en.wikipedia.org/wiki/Wisława_Szymborska"
## [2] "https://en.wikipedia.org/wiki/Rabindranath_Tagore"
## [3] "https://en.wikipedia.org/wiki/Tomas_Tranströmer"
## [4] "https://en.wikipedia.org/wiki/Sigrid_Undset"
## [5] "https://en.wikipedia.org/wiki/Mario_Vargas_Llosa"
## [6] "https://en.wikipedia.org/wiki/Derek_Walcott"
Скачайте тексты всех статей (напишите функцию, но запускайте на четырех статьях). Когда получится, возьмите с флешки или отсюда все данные.
создайте тиббл (data_frame
) с двумя переменными name
и text
, со списком авторов и текстами о них
nobel_laureates <- data_frame(name = eng_list, texts)
str(nobel_laureates)
## Classes 'tbl_df', 'tbl' and 'data.frame': 113 obs. of 2 variables:
## $ name : chr "List of Nobel laureates in Literature" "Shmuel Yosef Agnon" "Vicente Aleixandre" "Svetlana Alexievich" ...
## $ texts: chr "Shmuel Yosef Agnon (Hebrew: שמואל יוסף עגנון) (July 17, 1888 – February 17, 1970)[1] was a Nobel Prize laureate"| __truncated__ "Vicente Pío Marcelino Cirilo Aleixandre y Merlo (26 April 1898 – 14 December 1984) was a Spanish poet who was b"| __truncated__ "Svetlana Alexandrovna Alexievich[1] (born 31 May 1948) is a Belarusian investigative journalist and non-fiction"| __truncated__ "Ivo Andrić (Serbian Cyrillic: Иво Андрић, pronounced [ǐːʋɔ ǎːndritɕ]; born Ivan Andrić; 9 October 1892 – 13 Mar"| __truncated__ ...
tidytext
опять!data(stop_words)
.
Давайте нарисуем картинку!
А как это устроено по авторам? Выведите слова встретившиеся больше 10 раз.
In R everything that exists is an object and everything that happens is a function call1. In Java, everything is an object. In Javascript, everything is a terrible mistake.
merged from Antoine Sabot-Durand and John Chambers
httr
.Вы наверняка знаете, про это `+`(2, 3)
`[`(letters, 7)
↩