создание корпуса из нескольких текстовых файлов HTML - PullRequest
0 голосов
/ 20 ноября 2018

У меня есть список HTML-файлов, я взял некоторые тексты из Интернета и заставил их читать с помощью read_html.

Мои имена файлов похожи на:

a1 <- read_html(link of the text) 
a2 <- read_html(link of the text) 
.
.
. ## until:
a100 <- read_html(link of the text)

Я пытаюсь создать корпус с этим.

Есть идеи, как мне это сделать?

Спасибо.

Ответы [ 2 ]

0 голосов
/ 20 ноября 2018

Я бы предложил использовать purrr для этого решения:

library(tidyverse)
library(purrr)
library(rvest)

files <- list.files("path/to/html_links", full.names = T)

all_html <- tibble(file_path = files) %>% 
  mutate(filenames = basename(files)) %>% 
  mutate(text = map(file_path, read_html))

Это хороший способ отслеживать, какой фрагмент текста принадлежит какому файлу.Это также делает такие вещи, как настроение или анализ любого другого типа, простым на уровне документа.

0 голосов
/ 20 ноября 2018

Вы можете заранее выделить вектор:

text <- rep(NA, 100)
text[1] <- read_html(link1)
...
text[100] <- read_html(link100)

Еще лучше, если вы организуете свои ссылки как вектор.Тогда вы можете использовать, как предложено в комментариях, lapply:

text <- lapply(links, read_html)

(здесь ссылки - это вектор ссылок).

Это был бы довольно плохой стиль кодирования для использованияassign:

# not a good idea
for (i in 1:100) assign(paste0("text", i), get(paste0("link", i)))

, поскольку это довольно медленно и трудно обрабатывать дальше.

...