Веб-скрейпинг с помощью R: проблема усечения

Как новичок, в настоящее время я работаю с веб-скрапингом с помощью R, используя пакет «rvest». Моя цель — получить текст любой песни с «www.musixmatch.com». Это моя попытка:

library(rvest)
url <- "https://www.musixmatch.com/lyrics/Red-Hot-Chili-Peppers/Can-t-Stop"
musixmatch <- read_html(url)
lyrics <- musixmatch%>%html_nodes(".mxm-lyrics__content")%>%html_text()

Этот код создает вектор 'lyrics' с двумя строками, содержащими тексты песен:

[1] "Can't stop addicted to the shindig\nChop top he says I'm gonna win big\nChoose not a life of imitation" 
[2] "Distant cousin to the reservation\n\nDefunkt the pistol that you pay for\nThis punk the feeling that you stay for\nIn time I want to be your best friend\nEastside love is living on the Westend\n\nKnock out but boy you better come to\nDon't die you know the truth is some do\nGo write your message on the pavement\nBurn so bright I wonder what the wave meant\n\nWhite heat is screaming in the jungle\nComplete the motion if you stumble\nGo ask the dust for any answers\nCome back strong with 50 belly dancers\n\nThe world I love\nThe tears I drop\nTo be part of\nThe wave can't stop\nEver wonder if it's all for you\nThe world I love\nThe trains I hop\nTo be part of\nThe wave can't stop\n\nCome and tell me when it's time to\n\nSweetheart is bleeding in the snow cone\nSo smart she's leading me to ozone\nMusic the great communicator\nUse two sticks to make it in the nature\nI'll get you into penetration\nThe gender of a generation\nThe birth of every other nation\nWorth your weight the gold ... <truncated>

Проблема в том, что 2-я строка в какой-то момент усекается. Из того, что я знаю о rvest, нет параметра для настройки усечения. Кроме того, я не мог найти ничего в Интернете по этому вопросу. Кто-нибудь знает, как настроить/отключить усечение для этой функции? Заранее большое спасибо!

С наилучшими пожеланиями,

Ян


person Jan-Benedikt Jagusch    schedule 17.02.2017    source источник
comment
Он сам обрезается или только отображение печати? Попробуйте записать в текстовый файл, чтобы увидеть его полностью.   -  person sebastian-c    schedule 17.02.2017
comment
На самом деле, может быть, это решит вашу проблему?: stackoverflow.com/questions/36800475/   -  person sebastian-c    schedule 17.02.2017
comment
Я не могу воспроизвести проблему.   -  person Dason    schedule 17.02.2017
comment
@sebastian-c, я не могу поверить, что это было так просто: большое спасибо!   -  person Jan-Benedikt Jagusch    schedule 17.02.2017
comment
Вы соглашаетесь с тем, что не будете: изменять, адаптировать, переводить или перепроектировать какую-либо часть Musixmatch или его содержимого, а также использовать роботов, пауков, приложения для поиска/поиска по сайту или другие устройства для извлечения или индексации любой части Веб-сайт и/или Приложение. Никто на SO не читает EULA/ToC/ToS?   -  person hrbrmstr    schedule 18.02.2017


Ответы (1)


Я думаю, что лучше скопировать и вставить текст в свой Блокнот или Wordpad. Сохранить как файл .txt

Затем используйте функцию readLines, она напечатает наше предупреждающее сообщение, но я смог получить всю лирику в векторе символов 84x1, который вы можете очистить или сделать все, что вам угодно.

words <- readLines("redhot.txt")
> head(words)
  [1] "Can't stop addicted to the shindig"     
  [2] "Chop top he says I'm gonna win big"     
  [3] "Choose not a life of imitation"         
  [4] "Distant cousin to the reservation"      
  [5] "Defunkt the pistol that you pay for"    
  [6] "This punk the feeling that you stay for"

Здесь нет проблем с усечением.

person mikeymike    schedule 17.02.2017
comment
@jan benedikt или попробуйте это: strsplit(lyrics,\n) - person mikeymike; 17.02.2017