Очистить значения из HTML теги выбора / опции в R
Я пытаюсь (довольно безуспешно) очистить некоторые данные с веб-сайта (www.majidata.co.ke), используя R. Я сумел очистить HTML и разобрать его, но теперь немного не уверен, как извлечь биты, которые я на самом деле необходимость!
С использованиемXML
библиотека Я очищаю свои данные, используя этот код:
majidata_get <- GET("http://www.majidata.go.ke/town.php?MID=MTE=&SMID=MTM=")
majidata_html <- htmlTreeParse(content(majidata_get, as="text"))
Это оставляет меня с (Большой) XMLDocumentContent. На веб-странице есть раскрывающийся список, и я хочу извлечь из него значения (которые относятся к названиям и идентификационным номерам разных городов). Биты, которые я хочу извлечь, это числа между<option value ="XXX">
и имя, следующее за ним заглавными буквами.
<div class="regiondata">
<div id="town_data">
<select id="town" name="town" onchange="town_data(this.value);">
<option value="0" selected="selected">[SELECT TOWN]</option>
<option value="611">AHERO</option>
<option value="635">AKALA</option>
<option value="625">AWASI</option>
<option value="628">AWENDO</option>
<option value="749">BAHATI</option>
<option value="327">BANGALE</option>
В идеале я хотел бы, чтобы они были в data.frame, где первый столбец - это число, а второй столбец - это имя, например.
ID Name
611 AHERO
635 AKALA
625 AWASI
и т.п.
Я не совсем уверен, куда идти отсюда. Я думал использовать регулярные выражения и сопоставлять шаблон в тексте, хотя я читал на нескольких форумах, что это плохая идея и что лучше / эффективнее использовать xpath. Не совсем уверен, с чего начать, хотя, кроме мысли, что мне нужно использоватьxpathApply
как-то.