2015-03-13 2 views
0

Я использую rvest пакет для загрузки информации с веб-сайта http://www.wp.pl/ но я заинтересован только в связи с особым тегом data-cluster как этотКак написать правильное селектор в rvest

<a data-cluster="3" href="http://wp.tv/i,nowe-prawo-drogowe-juz-latem-nowelizacja-czeka-na-podpis,mid,1659098,klip.html" title="Bat na kierowców już latem? &quot;To będzie trzęsienie ziemi&quot;" data-st-mtype="3"> 
<img src="http://y.wpimg.pl/i/ivar/G/201503/1426152344_a.jpg" data-src="http://y.wpimg.pl/i/ivar/G/201503/1426152344_a.jpg" alt="" height="191" width="332"> 
<h3>Bat na kierowców już latem? "To będzie trzęsienie ziemi"</h3> 
</a> 

Любые идеи о том, как задать селектор in html_nodes() функция?

ответ

1

Почему не напрямую использовать XPath:

library(rvest) 
html('<a blah="1">123</a><a href="">345</a><a href="">789</a><a blah="2" href="">345</a>') %>% 
    html_nodes(xpath = '//a[@blah]') 
# [[1]] 
# <a blah="1">123</a> 
# 
# [[2]] 
# <a blah="2" href="">345</a> 
# 
# attr(,"class") 
# [1] "XMLNodeSet 
+0

Эквивалента CSS еще проще: «а [л]» – hadley

+0

FWIW Я думаю, что это хорошая идея, чтобы получить в привычке делать '' .// в ваш xpath, чтобы они привязывались к текущему узлу, а не к вершине документа. – hadley

+0

Спасибо @hadley. Вы имеете в виду вот так: 'html ('')%>% html_nodes (xp = '// a')%>% html_nodes (xp = '.// b')'? – lukeA

Смежные вопросы