library("httr")
library("jsonlite")
library("magrittr")
GETPDF <- function(i){
url<-"https://index.toutiao.com/api/report"
headers<-c(
"Host"="index.toutiao.com",
"User-Agent"="Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.79 Safari/537.36"
)
payload <-list("page"=1,"size"=12)
payload[["page"]]=i
web <- GET(url,add_headers(.headers = headers),query = payload)
content <- web %>% content(as="text",encoding="UTF-8") %>% fromJSON() %>% `[[`(9)
}
library("doParallel") #加载doParallel包用于之后注册进程
library("foreach") #导入foreach包
system.time({
cl<- makeCluster(4)
registerDoParallel(cl) #进行进程注册
mydata1 <- foreach(
i=1:16, #输入等待请求的参数
.combine=rbind, #返回结果的整合
.packages = c("httr", "jsonlite","magrittr")
#多个进程共享的系统环境
) %dopar% GETPDF(i)
stopCluster(cl)
})
用R语言foreach包对某个函数进行并行的实例
最新推荐文章于 2023-09-12 18:17:38 发布