Я пытаюсь создать веб-скребок для отбрасывания статей, опубликованных на новостном веб-сайте www.20min.ch, с R. Их API-интерфейсы открыты для общего доступа, поэтому я мог бы создать фрейм данных, содержащий заголовки, URL-адреса, описания и временные метки с помощью rvest , Следующим шагом будет доступ к каждой отдельной ссылке, создание списка текстов статей и объединение его с моим фреймом данных. Однако я не знаю, как автоматизировать доступ к этим статьям. В идеале я хотел бы прочитать_1013 * ссылку 1, затем скопировать текст с узлом html и затем перейти к ссылке 2 ...
Это то, что я написал до сих пор:
site20min <- read_xml("https://api.20min.ch/rss/view/1")
site20min
url_list <- site20min %>% html_nodes('link') %>% html_text()
df20min <- data.frame(Title = character(),
Zeit = character(),
Lead = character(),
Text = character()
)
for(i in 1:length(url_list)){
myLink <- url_list[i]
site20min <- read_html(myLink)
titel20min <- site20min %>% html_nodes('h1 span') %>% html_text()
zeit20min <- site20min %>% html_nodes('#story_content .clearfix span') %>% html_text()
lead20min <- site20min %>% html_nodes('#story_content h3') %>% html_text()
text20min <- site20min %>% html_nodes('.story_text') %>% html_text()
df20min_a <- data.frame(Title = titel20min)
df20min_b <- data.frame(Zeit = zeit20min)
df20min_c <- data.frame(Lead = lead20min)
df20min_d <- data.frame(Text = text20min)
}
Мне нужен R, чтобы открывать каждую ссылку и извлекать некоторую информацию:
site20min_1 <- read_html("https://www.20min.ch/schweiz/news/story/-Es-liegen-auch-Junge-auf-der-Intensivstation--14630453")
titel20min_1 <- site20min_1 %>% html_nodes('h1 span') %>% html_text()
zeit20min_1 <- site20min_1 %>% html_nodes('#story_content .clearfix span') %>% html_text()
lead20min_1 <- site20min_1 %>% html_nodes('#story_content h3') %>% html_text()
text20min_1 <- site20min_1 %>% html_nodes('.story_text') %>% html_text()
Не должно быть большой проблемой привязать это к фрейму данных. но на данный момент некоторые из моих результатов оказываются пустыми.
спасибо за вашу помощь!