Простое применение пакета rvest
: Я пытаюсь очистить класс html-ссылок с сайта.Webscraping в R, доступ к узлам html
Этот код дает мне то, что выглядит как правильные узлы с сайта:
library(rvest)
library(magrittr)
foo <- "http://www.realclearpolitics.com/epolls/2010/house/2010_elections_house_map.html" %>%
read_html
Отдельно я нашел нужные узлы, используя селектор CSS:
foo %>%
html_nodes("#states td") %>%
extract(2:4)
который возвращает
{xml_nodeset (3)}
[1] <td>\n <a class="dem" href="/epolls/2010/house/ar/arkansas_4th_district_rankin_vs_ross-1343.html">\n <span>AR4</span>\n </a>\n</td>
[2] <td>\n <a class="dem" href="/epolls/2010/house/ct/connecticut_1st_district_brickley_vs_larson-1713.html">\n <span>CT1</span>\n </a>\n</td>
[3] <td>\n <a class="dem" href="/epolls/2010/house/ct/connecticut_2nd_district_peckinpaugh_vs_courtney-1715.html">\n <span>CT2</span>\n </a>\n</td>
Хорошо, поэтому атрибут href
- это то, что я ищу. Но это
foo %>%
html_nodes("#states td") %>%
extract(2:4) %>%
html_attr("href")
возвращает
[1] NA NA NA
Как я могу получить доступ основные ссылки?
try 'foo%>% html_nodes (" # states td a ")%>% extract (2: 4)%>% html_attr (" href ")' – Jay
@jay, вы должны сделать ответ. tomw: вы не нацеливаетесь на якорь, а решение Jay. – hrbrmstr