我正在尝试(相当不成功)使用 R 从网站(www.majidata.co.ke)抓取一些数据。我已经设法抓取 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
除了认为我需要以某种方式使用之外,我不确定从哪里开始。