打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
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文件中,从而方便后续的分析。


文章写得一般,大家见谅!有问题欢迎共同探讨交流!


本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
XML和XPath使用方法备忘(转载)
基于Python对知网(CNKI)主题文献爬虫
干货:如何搭建量化投资研究系统(附代码)
爬虫采集东方财富股票人气榜数据(上)
前辈们,问个XPATH的问题,如何能在一个页面内一次性提取多个数据?
用VBA操作网页并抓取数据
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服