前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >R语言获取股票信息进行数据分析

R语言获取股票信息进行数据分析

原创
作者头像
jackcode
发布2023-06-06 15:17:25
5840
发布2023-06-06 15:17:25
举报
文章被收录于专栏:爬虫资料
亿牛云代理
亿牛云代理

style=none&taskId=ufe5a8213-193f-4abf-99f6-220571344f0&title=)

R语言是一种主要用于统计计算和图形的编程语言,被数据挖掘者、生物信息学家和统计学家用于数据分析和开发统计软件。R的一些优势是它的庞大的包生态系统,涵盖了广泛的统计技术和领域,它的可扩展性和开源性质,允许用户创建自己的工具和方法,以及它的无与伦比的图形和绘图能力,能够实现高质量的数据可视化。R也保持了机器学习研究的前沿,因为新方法往往一开始就有相应的R包。

R语言是网页抓取和数据分析的强大工具。使用R,可以编写爬虫从各种网站提取股票信息,如价格、数量、股息、收益等。然后,可以使用R的内置函数和包来执行各种数据分析任务,例如描述性的统计、可视化、回归、聚类、情绪分析等。R语言可以帮助投资者洞察股市并做出明智的决策。

下面用R语言写一个爬虫程序,采集http://guba.eastmoney.com/rank/获取股票信息,示例如下:

代码语言:text
复制
library(rvest)
library(httr)
library(dplyr)

# 亿牛云代理 
# 爬虫代理加强版 设置代理IP的用户名和密码
proxy_username <- "16YUN"
proxy_password <- "16IP"

# 创建用于发送HTTP请求的Session对象,并设置爬虫代理加强版代理IP的服务器和认证信息
session <- html_session(url = "http://guba.eastmoney.com/rank/",
                        proxy = "http://www.16yun.cn:31000",
                        authenticate(proxy_username, proxy_password))

# 定义函数来解析页面并提取股票信息
parse_page <- function(page) {
  page %>% 
    html_nodes("table.table_bg001 tbody tr") %>% 
    html_text() %>% 
    strsplit("\\s{2,}") %>% 
    lapply(function(x) {
      data_frame(
        rank = x[1],
        code = x[2],
        name = x[3],
        price = x[4]
      )
    }) %>% 
    bind_rows()
}

# 定义函数来获取指定页数的股票信息
get_stock_info <- function(page_num) {
  url <- modify_url("http://guba.eastmoney.com/rank/",
                    query = list(pn = page_num))
  
  page <- session %>% GET(url) %>% content() %>% read_html()
  
  stock_info <- parse_page(page)
  
  return(stock_info)
}

# 获取第一页的股票信息
stock_info <- get_stock_info(1)

# 获取总页数
total_pages <- stock_info %>% pull(rank) %>% as.numeric() %>% max()

# 循环获取剩余页面的股票信息
for (page_num in 2:total_pages) {
  stock_info_page <- get_stock_info(page_num)
  stock_info <- bind_rows(stock_info, stock_info_page)
}

# 打印整理后的股票信息
print(stock_info)

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档