Scrape-Werte aus HTML-Auswahl- / Options-Tags in R

Ich versuche (ziemlich erfolglos), einige Daten von einer Website (www.majidata.co.ke) mit R zu kratzen. Ich habe es geschafft, den HTML-Code zu kratzen und zu analysieren, aber jetzt weiß ich nicht, wie ich die Bits extrahieren soll eigentlich brauchen!

Verwendung derXML Bibliothek Ich kratzte meine Daten mit diesem Code:

majidata_get <- GET("http://www.majidata.go.ke/town.php?MID=MTE=&SMID=MTM=")
majidata_html <- htmlTreeParse(content(majidata_get, as="text"))

Dies lässt mich mit (großem) XMLDocumentContent zurück. Es gibt eine Dropdown-Liste auf der Webseite und ich möchte die Werte daraus entfernen (die sich auf die Namen und ID-Nummern verschiedener Städte beziehen). Die Bits, die ich extrahieren möchte, sind die Zahlen zwischen<option value ="XXX"> und der darauf folgende Name in Großbuchstaben.

<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>

Idealerweise möchte ich diese in einem data.frame haben, wobei die erste Spalte die Nummer und die zweite Spalte der Name ist, z. B.

ID       Name
611      AHERO
635      AKALA
625      AWASI

etc

Ich bin mir nicht sicher, wohin ich von hier aus gehen soll. Ich hatte gedacht, Regex zu verwenden und das Muster innerhalb des Textes abzugleichen, obwohl ich aus einer Reihe von Foren gelesen habe, dass dies eine schlechte Idee ist und dass es besser / effizienter ist, den xpath zu verwenden. Ich bin mir nicht sicher, wo ich anfangen soll, außer zu denken, dass ich @ verwenden musxpathApplyirgendwie

Antworten auf die Frage(2)

Ihre Antwort auf die Frage