【发布时间】:2014-09-22 02:04:14
【问题描述】:
我正在尝试(相当不成功)使用 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 更好/更有效。除了认为我需要使用xpathApplysomehow之外,我不确定从哪里开始。
【问题讨论】:
-
这里是一些
XML提取的简单示例:stackoverflow.com/questions/21844528/…
标签: html r web-scraping rvest