解析网页并转换为data.frame

解析网页并转换为data.frame,r,gis,R,Gis,我正试图从这个网站上搜集资料: 我特别感兴趣的是从页面源代码第598行周围的javascript中提取值: { "title": 'Coconino County', "lat": '35.7714', "lng": '-111.5111', "description": 'Coconino County, AZ <br/> <a href="http://www.coconino

我正试图从这个网站上搜集资料:

我特别感兴趣的是从页面源代码第598行周围的javascript中提取值:

 {
            "title": 'Coconino County',
            "lat": '35.7714',
            "lng": '-111.5111',
            "description": 'Coconino County, AZ <br/> <a href="http://www.coconino.az.gov/" target="_blank"> http://www.coconino.az.gov/</a> <br/>  '
        }

    ,

         {
            "title": 'City of Flagstaff',
            "lat": '35.1981',
            "lng": '-111.6506',
            "description": 'City of Flagstaff, AZ <br/> <a href="http://www.flagstaff.az.gov/   " target="_blank"> http://www.flagstaff.az.gov/   </a> <br/>  '
        }
{
“头衔”:“科科尼诺县”,
“lat”:“35.7714”,
“液化天然气”:“-111.5111”,
“描述”:“亚利桑那州科科尼诺县”
}
,
{
“标题”:“旗杆之城”,
“lat”:“35.1981”,
“液化天然气”:“-111.6506”,
“描述”:“亚利桑那州弗拉格斯塔夫市”
}
理想情况下,我希望将“title”、“lat”和“lng”值放入R
data.frame


我在R中使用了
readLines
函数来读取页面,但在减少html以隔离所需数据方面遇到了困难

这是使用
RSelenium
包的一种方法

## Get RSelenium going and navigate to page, retrieve source
require(RSelenium)
RSelenium::checkForServer()
RSelenium::startServer()
remDr <- remoteDriver()
remDr$open()
remDr$setImplicitWaitTimeout(3000)
remDr$navigate("http://www.appliedsolutions.org/site/308/Local-Government/Local-Government-Affiliates")
##启动RSelenium并导航到页面,检索源代码
需要(硒)
RSelenium::checkForServer()
RSelenium::startServer()

remDr导航到页面后,您可以通过调用
appData直接获取数据。appData将以列表的形式包含所有数据
do.call(rbind.data.frame,appData)
会很快得到一个数据帧,但我不是数据专家,所以最好能找到一种更好的转换列表的方法。这很酷。我试图使用
XML
selectr
包来实现这一点,但是
markers
不是有效的JSON,因此没有解析。我相信,
RSelenium
直接读取JS变量。
appData <- remDr$executeScript("return markers;")

dat <- do.call(rbind.data.frame, appData)
dat <- dat[,c("title","lat","lng")]

> head(dat)
        lat       lng               title
   35.7714 -111.5111     Coconino County
   35.1981 -111.6506   City of Flagstaff
   34.8697 -111.7603      City of Sedona
   34.6503 -112.4147      Yavapai County
     32.64 -117.0833 City of Chula Vista
   38.8056 -123.0161  City of Cloverdale