使用R JSON进行Webscraping

时间:2017-03-15 04:13:47

标签: r web-scraping

我希望通过两列区域角色扮演者名称来获取公司名称。我已经在每个页面上找到json个链接,但是RJSonio它没有用。它收集数据,但我怎么能把它变成可读的视图?可以有人帮忙,谢谢。

以下是link

我从Stackoverflow上的另一个类似问题尝试此代码

library(RJSONIO)

library(RCurl)

抓取数据

raw_data <- getURL("http://www.milksa.co.za/admin/settings/mis_rest/webservicereceive/GET/index/page:1/regionID:7.json")
#Then covert from JSON into a list in R
data <- fromJSON(raw_data)

length(data)

final_data <- do.call(rbind, data)

head (final_data)

1 个答案:

答案 0 :(得分:0)

我个人偏好使用图书馆jsonlite而不是fromJSON

require(jsonlite)
data<-jsonlite::fromJSON(raw_data, simplifyDataFrame = TRUE)
finalData<-data.frame(cbind(data$rolePlayers$RolePlayer$orgName, data$rolePlayers$Region$RegionNameEng))
colnames(finalData)<-c("Name", "Region")  

它为您提供以下数据框:

                                   Name       Region
                GoodHope Cheese (Pty) Ltd Western Cape
                       Jay Chem (Pty) Ltd Western Cape
                Coltrade International cc Western Cape
 GC Rieber Compact South Africa (Pty) Ltd Western Cape
                    Latana Cheese Pty Ltd Western Cape
                       Marco Frischknecht Western Cape

可以在此处找到可视化查询方式以及JSON字符串内容的好方法:Chris Photo JSON viewer

您可以从raw_data剪切并粘贴它(删除外部引号)。从那里可以很容易地看到如何使用寻址来构建数据,就像使用传统数据框和$运算符一样。