2016-04-13 4 views
0

Мне нужно пойти получить имя школы и указать все варианты в выпадающем меню.Как я могу очистить всю информацию из выпадающего меню?

URL-адрес является http://www.speechanddebate.org/aspx/rankings.aspx?navid=608&pnavid=2

Я пытался кодировать это в R, следуя пример я нашел здесь, но не может установить пакет правильно.

Мне нужно очень простое руководство, желательно в R, о том, как получить название школы и состояние из выпадающего меню.

+0

'rvest' хорош для основного веба выскабливания, но в этом случае он не сможет изменить выпадающее меню для вы, потому что это не изменяет URL. Для этого вам понадобится нечто вроде «RSelenium», которое немного более интенсивно, хотя и хорошо документировано. – alistaire

+1

Расширение использования 'RSelenium': http://stackoverflow.com/questions/26963927/dropdown-boxes-in-rselenium и http://stackoverflow.com/questions/31616734/read-values-in-dropdown- меню элемент-с-rselenium. Для этого случая, я думаю, что это путь. Не забудьте проверить TOU сайта, который вы собираетесь очистить! – PavoDive

ответ

0

вот предложение, если вам нужен только список записей. Он использует только базовые функции, так как вы, кажется, есть трудности при установке пакетов (вероятностный брандмауэр/прокси)

urlink <- "http://www.speechanddebate.org/aspx/rankings.aspx?navid=608&pnavid=2" 
alllines <- readLines(urlink) 
startidx <- (which(grepl("-- View All Districts --", alllines, fixed=T)) + 1) 
endindices <- which(grepl("</select>", alllines, fixed=T)) 
endidx <- head(endindices[endindices > startidx],1) 
alllines[startidx:endidx] 
mylist <- unname(na.omit(sapply(alllines[startidx:endidx], 
    function(s) strsplit(strsplit(s, ">")[[1]][2], "<")[[1]][1]))) 
Смежные вопросы