windows 利用R定时抓取猫眼专业版电影票房

1、在mysql创建数据库,表



2、网址

猫眼专业版:http://piaofang.maoyan.com/dashboard

电影票房数据链接:https://box.maoyan.com/promovie/api/box/second.json


3、脚本

library(xml2)
library(rvest)
movieData<-read_html('https://box.maoyan.com/promovie/api/box/second.json')
content<-movieData %>% html_nodes('p') %>% html_text()
library(RMySQL)
library(DBI)
library('jsonlite')
result<-fromJSON(content)
movieName<-result$data$list$movieName
boxInfo<-result$data$list$boxInfo
avgPeople<-result$data$list$avgShowView
insertData<-data.frame(movieName,boxInfo,avgPeople)
newData<-transform(insertData,time=result$data$'updateInfo')
conn <- dbConnect(MySQL(), dbname = "maoyan1", username="root", password="root", host="192.168.193.128", port=3306)

dbWriteTable(conn, "movie",newData,append=T,row.names=F)

4、可以将该文本复制,替换上一遍博客中的test.R脚本,重新创建定时任务,即可(当时我以为将test.R中的代码复制粘贴就行了,结果发现之前定时运行test.R脚本的定时任务不执行了,所以重新创建了定时任务就可以了)

上一篇博客地址:https://blog.csdn.net/qq_15058425/article/details/80739067

这样就可以定时爬取数据,将数据保存到数据库中,不过windows的时间间隔最小是5分钟,不知道是不是还可以设置更小,暂时没有找到设置方法,如果还想设置更小的间隔时间抓取数据,我考虑将R安装在Linux上,利用crontab

猜你喜欢

转载自blog.csdn.net/qq_15058425/article/details/80740027