【发布时间】:2017-11-11 14:50:21
【问题描述】:
我正在尝试使用 Indeed API 来搜索特定的工作,当 for 循环没有经过每次迭代时,我遇到了一个问题。 这是我使用的代码示例:
original_url_1 <- "http://api.indeed.com/ads/apisearch?publisher=750330686195873&format=json&q="
original_url_2 <-"&l=Canada&sort=date&radius=10&st=&jt=&start=0&limit=25&fromage=3&filter=&latlong=1&co=ca&chnl=&userip=69.46.99.196&useragent=Mozilla/%2F4.0%28Firefox%29&v=2"
keywords <- c("data+scientist", "data+analyst")
for(i in keywords) {
url <- paste0(original_url_1,i,original_url_2)
x <- as.data.frame(jsonlite::fromJSON(httr::content(httr::GET(url),
as = "text", encoding = "UTF-8")))
data <- rbind(data, x)
}
Url 指向 JSON 文件,将关键字之一添加到 url 将更改 JSON 文件。因此,我尝试对所有关键字重复此操作,并将结果存储在数据框中。但是,当我尝试使用更多关键字时,我只得到了几个第一个关键字的结果。
【问题讨论】:
-
小问题:
url <- paste0(original_url,"/",i) -
感谢您的回复。我刚刚修改了答案以显示原始网址 - 我实际上是在网址中间插入这些关键字。
-
小心名字。我适当地编辑了代码...
-
你还需要初始化对象之前使用它们进入一个循环。出于这个原因,我发布了一个答案