晶羽科技-解读点评影视小说作品

微信
手机版

r语言炒股(炒股吉祥语言)

2021-12-30 05:40 作者:数据小匠 围观:

项目目的:每日抓取大盘几个股的上一个交易日的收盘价格数据,并自动发送邮件

R语言:爬取股票数据并发送邮件监控

首先加载所要用到的R包:

library(rvest)library(dplyr) library(htmlTable) #整合网页library(mailR) #用来发邮件

抓取上证指数数据,以网易财经的股票数据为抓取目标页

url_szzs <- 'http://quotes.money.163.com/trade/lsjysj_zhishu_000001.html'website_szzs <- read_html(url_szzs)table_szzs <- html_table(website_szzs, fill = TRUE)data_szzs <- table_szzs[[4]]

抓取深圳成指数据

url_szcz <- 'http://quotes.money.163.com/trade/lsjysj_zhishu_399001.html'website_szcz <- read_html(url_szcz)table_szcz <- html_table(website_szcz, fill = TRUE)data_szcz <- table_szcz[[4]]

抓取格力电器个股数据

url_gldq <- 'http://quotes.money.163.com/trade/lsjysj_000651.html#06f01'website_gldq <- read_html(url_gldq)table_gldq <- html_table(website_gldq, fill = TRUE)data_gldq <- table_gldq[[4]]

抓取分众传媒个股数据

url_fzcm <- 'http://quotes.money.163.com/trade/lsjysj_002027.html#06f01'website_fzcm <- read_html(url_fzcm)table_fzcm <- html_table(website_fzcm, fill = TRUE)data_fzcm <- table_fzcm[[4]]

抓取科大讯飞个股数据

url_kdxf <- 'http://quotes.money.163.com/trade/lsjysj_002230.html#06f01'website_kdxf <- read_html(url_kdxf)table_kdxf <- html_table(website_kdxf, fill = TRUE)data_kdxf <- table_kdxf[[4]]

最近一次收盘日期

ys_dp<-max(data_szzs$日期) #大盘最近一次收盘日期ys_gg<-max(data_gldq$日期) #个股最近一次收盘日期

整合大盘数据形成表格

dp_results<-rbind(  data.frame(    项目="上证指数" ,    filter(data_szzs,as.character(data_szzs$日期)==ys_dp)  ),  data.frame(    项目="深圳成指" ,    filter(data_szcz,as.character(data_szcz$日期)==ys_dp)  ))

整合个股数据形成表格

gg_results<-rbind(  data.frame(    项目="格力电器" ,    filter(data_gldq,data_gldq$日期==ys_gg)  ),  data.frame(    项目="分众传媒" ,    filter(data_fzcm,data_fzcm$日期==ys_gg)  ),  data.frame(    项目="科大讯飞" ,    filter(data_kdxf,data_kdxf$日期==ys_gg)  ))

将大盘和个股数据表格转化为网页表格形式

dp_html<-htmlTable(dp_results,                   rnames = FALSE,                   align = paste(rep('|c|',ncol(dp_results)),collapse=''),                   align.header = paste(rep('|c|',ncol(dp_results)),collapse=''),                   col.columns = c(rep("none", 2), rep("#F5FBFF", 4)),                   col.rgroup = c("none", "#F7F7F7"),                   caption = '1、大盘交易情况'                   )gg_html<-htmlTable(gg_results,                   rnames = FALSE,                   align = paste(rep('|c|',ncol(gg_results)),collapse=''),                   align.header = paste(rep('|c|',ncol(gg_results)),collapse=''),                   col.columns = c(rep("none", 2), rep("#F5FBFF", 4)),                   col.rgroup = c("none", "#F7F7F7"),                   caption = '2、个股交易情况'                   )
####合并html<-paste0(dp_html,gg_html)

最后用mailR发送邮件进行监控

#收件人recipients <- c("xxx@qq.com")#发件人sender = "xxx@qq.com"#主题title = paste0("stock market  " ,Sys.Date())#填上邮箱密码codesend.mail(  from = sender,  to = recipients,  subject = title,  body = html,  encoding = "utf-8",  html = TRUE,  smtp = list(    host.name = "smtp.qq.com",    port = 465,    user.name = sender,    passwd = "xxx",    ssl = TRUE  ),  authenticate = TRUE,  send = TRUE)

相关文章