0

I have a list of html files, I have taken some texts from the web and make them read with the read_html.

My files names are like:

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

I am trying to create a corpus with these.

Any ideas how can I do it?

Thanks.

2
  • 2
    Use a list L <- lapply(vector_of_links, read_html) Commented Nov 20, 2018 at 10:22
  • Thanks. Do you think that it is a true way to create the vector of the links as following v<-c(a(1:100)) Commented Nov 20, 2018 at 10:26

2 Answers 2

0

You could allocate the vector beforehand:

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

Even better, if you organize your links as vector. Then you can use, as suggested in the comments, lapply:

text <- lapply(links, read_html)

(here links is a vector of the links).

It would be rather bad coding style to use assign:

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

since this is rather slow and hard to process further.

Sign up to request clarification or add additional context in comments.

Comments

0

I would suggest using purrr for this solution:

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))

Is a nice way to keep track of which piece of text belongs to which file. It also makes things like sentiment or any other type analysis easy at a document level.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.