Я пытался сделать webscraping, и мне удалось получить заголовки и подробное содержание новости. Код для того же:
webpage <- read_html("https://www.rediff.com/sports")
headlines.node <- html_nodes(webpage,'.relative h2 a')
headlines <- html_text(headlines.node)
headlines <- str_squish(headlines)
links <- webpage %>% html_nodes(".relative h2 a") %>%
html_attr("href")
content <- c()
for(i in 1:length(links)){
newslink <- links[i]
webpage <- read_html(newslink)
story.node <- html_nodes(webpage, "p")
story <- html_text(story.node)
story <- str_squish(story)
content[i] <- paste(story, collapse = '')
}
df <- data.frame("Headlines"=headlines, "Main Content"=content)
Однако, чтобы сохранить подробный контент новостей в поле данных, мне пришлось свернуть подробный сюжет контента страницы, без которого она возвращалась: «В content [i] <- story: количество заменяемых элементов не кратно длине замены»), так как он возвращал несколько строк данных абзаца. </p>
Аргумент collapse создал столбец с данные типа:
df$Main.Content[1]
Вышеприведенная строка вернула: [1] NewsApp (бесплатно) Кохли получает гонг Spirit of Cricket; Стоукс - я CC Игрок в крикет Года. Новичок Индии Рохит Шарма был в среду назван Игроком по кличке года ODI I CC 2019 за его невероятную форму, в то время как Энгли sh универсал Бен Стоукс ушел с общим отличием. Индийский шкипер Вират Кохли был назван капитаном команд I CC Test и ODI года, кроме того, он выиграл награду «Дух крикета» за попытку помешать поклонникам бить Стива Смита во время Матч Кубка мира по овалу. Смит возвращался в международный крикет из-за годичной приостановки за подделку мяча. Победивший в Кубке мира универсал Стоукс получил самый большой приз - «Сэр Гарфилд Соберс Трофи» за «Игрок года», в то время как Австралия быстрый котелок Пэт Камминс был назван Игроком-испытателем Года. Индийский закройщик Дипак Чахар выиграл Международное выступление T20 года, австралийский Марнус Лабушан был назван новым игроком в крикет года, в то время как шотландский Кайл Кетцер был объявлен ассоциированным игроком в крикет года . 32-летний. , , , , , , , и оставшаяся история (не копируя всю вещь здесь ...)
Мы потеряли отступ абзаца, и текст выглядит грязным. Есть ли способ сохранить отступ абзаца каждой ссылки и сохранить его в поле кадра данных?
Пример: например, когда я нажимаю
df$Main.Content[1]
Это должно верните мне чистый абзац с абзацем:
NewsApp (бесплатно) Кохли получает гонг «Дух крикета»; Стоукс - я CC Игрок в крикет года. Новичок Индии Рохит Шарма был в среду назван Игроком по кличке года ODI I CC 2019 за его невероятную форму, в то время как Энгли sh универсал Бен Стоукс ушел с общим отличием.
Индийский шкипер Вират Кохли был назван капитаном команд I CC Test и ODI года, кроме того, что получил награду «Дух крикета» за попытку остановить фанатов от бухания Стива Смита во время матча Кубка мира в Овале. Смит возвращался в международный крикет из-за годичной приостановки за подделку мячей.
(и т. Д., Как на исходной странице)
Я пытался объяснить лучше всего мое требование Пожалуйста, спросите, если что-то неясно по этому вопросу.