R语言rcurl抓取问财财经搜索网页股票数据
问财财经搜索是同花顺旗下的服务之一,主要针对上市公司的公告、研报、即时新闻等提供搜索及参考资料。相对于其他股票软件来说,一个强大之处在于用自然语言就可以按你指定的条件进行筛选。而大部分现有的行情软件支持的都不是很好,写起来就费尽心思,还不一定能行。
然而问财有一个缺陷在于它只能获取一天的股票相关信息。如果,我们希望实现抓取一段时间的股票历史信息,就要通过网页批量抓取。我们围绕爬虫技术进行一些咨询,帮助客户解决独特的业务问题。
事实上,我们可以通过制作一个爬虫软件来自己定义时间日期和搜索的关键词,并且批量下载一定日期范围的数据。
我们以抓取每天的收盘价大于均线上股票数目为例子,用r来实现抓取:
例如需要获取10月12日的数据,在问财里输入下面的关键词即可
查看搜索结果链接,我们可以看到关键词在链接中的显示规则
因此,我们在r中可以通过制作一个时间段的伪链接来向服务器不断发送搜索请求,从而实现一段日期数据的批量抓取
url=paste("http://www.iwencai.com/stockpick/search?typed=1&preParams=&ts=1&f=1&qs=result_rewrite&selfsectsn=&querytype=&searchfilter=&tid=stockpick&w=",as.character(as.Date(i, origin = "1970-01-01")) ,input2)
然后,我们查看其中一天的网页源代码,可以找到对应股票数据的xml源码
因此,可以通过编写一个html_value 函数来获取这个xmlValue
xpath <- '//div[@class=\"natl_words long_words\"]/span[@class=\"natl_num\"]'html_value <- function(url,xpath){webpage <- getURL(url)webpage <- readLines(tc <- textConnection(webpage)); close(tc)pagetree <- htmlTreeParse(webpage, error=function(...){}, useInternalNodes = TRUE)value <- getNodeSet(pagetree,xpath)
##i <- length(value)##统计满足条件的值个数,一般情况为1# value1 <- xmlValue(value[[ 1]])# value2 <- xmlValue(value[[ 2]])# value3 <- xmlValue(value[[ 3]])# value4 <- xmlValue(value[[ 4]])value1=character(0)for(i in 1:length(value))value1[i] <- xmlValue(value[[ i]])return(value1)}
然后封装成一个函数,就可以任意下载一段时间内几个关键词所对应的股票数据了。
最后可以将爬取到的数据批量输出到一个excel文件中,从而方便后续的分析。
R语言rcurl抓取问财财经搜索网页股票数据相关推荐
- r语言 append_Python爬取近十年TIOBE编程语言热度数据并可视化可视化
本文介绍如何利用requests+正则表达式爬取TIOBE编程语言热度数据,并使用?openpyxl写入数据与?pyecharts时间轮播图进行可视化. 一.数据获取 我们需要爬取的目标url为h ...
- 005 利用fidder抓取app的api,获得股票数据
一.下载安装fidder 百度搜索fidder直接下载,按提示安装即可. 二.配置fidder 1. 打开fidder,选择tools--options. 2. 选择HTTPS选项卡,勾选前三项,然后 ...
- R语言典型相关分析:NBA球员身体素质与统计数据关联性
昨天万众瞩目的2017NBA总决赛G1,想必各位JRs们都看了吧?不是骑士不尽力,奈何对面有高达,比赛结果是书包杜和打卡库双星闪耀先下一城.恰好前两天的数模课上的是多元统计,于是便复习了下主成分分析与 ...
- 学校铃声Java_java_java多线程抓取铃声多多官网的铃声数据,一直想练习下java多线程抓取数 - phpStudy...
java多线程抓取铃声多多官网的铃声数据 一直想练习下java多线程抓取数据. 有天被我发现,铃声多多的官网(http://www.shoujiduoduo.com/main/)有大量的数据. 通过观 ...
- 数据分享|R语言因子分析、相关性分析大学生兼职现状调查问卷数据可视化报告...
全文链接:http://tecdat.cn/?p=31765 随着大学的普及教育,大学生就业形势变得更加困难,很多学生都意识到这个问题(点击文末"阅读原文"获取完整代码数据). 相 ...
- 《R语言游戏数据分析与挖掘》一2.2 数据对象
2.2 数据对象 R拥有许多用于存储数据的对象类型,包括向量.矩阵.数组.数据框和列表.它们在存储数据的类型.创建方式.结构复杂度,以及用于定位和访问其中个别元素的标记等方面均有所不同.多样化的数据对 ...
- R语言ggplot2可视化:使用geom_line函数将dataframe中数据可视化为时间序列(或折线图)(Time Series Plot From a Data Frame)、添加标题、副标题
R语言ggplot2可视化:使用geom_line函数将dataframe中数据可视化为时间序列(或折线图)(Time Series Plot From a Data Frame).添加标题.副标题. ...
- R语言ggplot2可视化:可视化斜率图、对比同一数据对象随着时间推移多个状态的差异(Slope Chart)、例如、对比不同癌症5年期、10年期、15年期存活率的差异
R语言ggplot2可视化:可视化斜率图.对比同一数据对象随着时间推移多个状态的差异(Slope Chart).例如.对比不同癌症5年期.10年期.15年期存活率的差异 目录
- R语言使用haven包的read_spss函数读取spss格式数据、使用haven包的read_sas函数读取SAS格式数据、使用haven包的read_dta函数读取Stata格式数据
R语言使用haven包的read_spss函数读取spss格式数据.使用haven包的read_sas函数读取SAS格式数据.使用haven包的read_dta函数读取Stata格式数据 目录
最新文章
- P1979 [NOIP]华容道
- 在SQL 2005中用T-SQL插入中文数据时出现的问号或乱码的解决方案[转]
- web请求判断客户端类型
- 水晶报表钻取(深化)之分组法
- C#从excel中将数据导出到datatable
- linux终端安装playonlinux,Ubuntu怎么安装PlayOnLinux
- 自己构建GlassFish 4.0快照
- mac应用开发入门笔记
- 2019.1.31及以前
- ubuntu16.04下安装windows软件,以及卸载.
- 放弃有道词典和有道云笔记
- FLV无损转换MP4
- 欲戴王冠,砥砺前行。
- 怎么提高截屏图片分辨率?照片分辨率低如何做成高清?
- 使用拦截器防止表单重复提交
- 理解热插拔技术:热插拔保护电路设计过程实例
- B站哔哩哔哩21届秋招算法岗笔试 假设货币系统包含面值1元、4元、16元、64元共计4种硬币,以及面值1024元的纸币。现在小明使用1024元的纸币购买了一件价值为N(0<N<=1024)的商品
- Ethical.Hacking.2021.10:CRAFTING TCP SHELLS AND BOTNETS(2)
- 【转载】SharpDevelop开发教程
- 卷积网络应用于目标检测算法
热门文章
- 孔径问题 — The Aperture Problem
- F5负载均衡、Juniper防火墙等设备取消CLI分页的命令
- 仁润云丨网络小贷风控数据接口分析(多头借贷,芝麻信用)
- 平台如何限制ip流量_微信视频号如何打造个人IP?三步教你成为流量IP达人
- gif加字php,『GIF图片添加文字』如何在gif上添加文字 仍然保持gif动态效果
- 痤疮(又叫青春痘、粉刺、毛囊炎)
- 【一句话博客】SyntaxError: Failed to execute ‘querySelector’ on ‘Document’: “xxx” is not a valid selector.
- 搜狗百科创建怎么做,搜狗企业百科如何创建
- Hibernate异常:Named query not known
- Json.NET读写Json文件