C'est ma première tentative pour traiter les sélecteurs HTML et CSS. J'utilise le package R rvest pour mettre au rebut le site Billboard Top 100. Certaines des données qui m'intéressent comprennent le classement de cette semaine, la chanson, la météo ou non, la chanson est New, et la météo ou pas la chanson a des prix.Lecture en html avec R rvest. Comment vérifier si une classe de sélecteur CSS contient quelque chose?
Je suis en mesure d'obtenir le nom de la chanson et le rang qui suit:
library(rvest)
URL <- "http://www.billboard.com/charts/hot-100/2017-09-30"
webpage <- read_html(URL)
current_week_rank <- html_nodes(webpage, '.chart-row__current-week')
current_week_rank <- as.numeric(html_text(current_week_rank))
Mon problème est livré avec les nouveaux indicateurs et prix. Les chansons sont répertoriés dans les lignes avec chacun des 100 contenus dans:
<article> class="chart-row char-row--1 js chart-row" ....
</article>
Si une chanson est nouvelle, ce sera la classe en son sein comme:
<div class="chart-row__new-indicator">
Si une chanson a un prix, il sera cette classe en son sein:
<div class="chart-row__award-indicator">
est-il possible que je peux regarder les 100 instances de la classe = « tableau-ligne char-ligne - 1 js tableau rangée » ... et voir si l'un d'entre eux existe en son sein? La sortie que je reçois de current_week_rank est une colonne de 100 valeurs. J'espère qu'il y a un moyen d'obtenir ceci pour avoir une observation pour chaque chanson.
Nous vous remercions de votre aide ou de vos conseils.
veuillez partager un exemple d'URL, ce n'est pas tout à fait clair La structure de la page. – MichaelChirico
@MichaelChirico L'URL est http://www.billboard.com/charts/hot-100/2017-09-30 – Jorge
Vous pouvez essayer '...%>% html_attr ('class')', qui vous renverra un vecteur de caractère de la classe de l'étiquette. Ensuite, vérifiez si un nom de classe css spécifique est dans la chaîne. – kitman0804