首页 > 其他分享 >R语言rcurl爬虫采集抓取问财财经搜索网页股票数据|附代码数据

R语言rcurl爬虫采集抓取问财财经搜索网页股票数据|附代码数据

时间:2023-10-18 19:57:59浏览次数:39  
标签:网页 语言 问财 抓取 rcurl 搜索 爬虫 数据

原文参考:http://tecdat.cn/?p=4560

 最近我们被客户要求抓取问财财经搜索网页股票数据,包括一些图形和统计输出。

问财财经搜索是同花顺旗下的服务之一,主要针对上市公司的公告、研报、即时新闻等提供搜索及参考资料。相对于其他股票软件来说,一个强大之处在于用自然语言就可以按你指定的条件进行筛选。而大部分现有的行情软件支持的都不是很好,写起来就费尽心思,还不一定能行。

然而问财有一个缺陷在于它只能获取一天的股票相关信息。如果,我们希望实现抓取一段时间的股票历史信息,就要通过网页批量抓取。

事实上,我们可以通过制作一个爬虫软件来自己定义时间日期和搜索的关键词,并且批量下载一定日期范围的数据。

我们以抓取每天的收盘价大于均线上股票数目为例子,用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文件中,从而方便后续的分析。


参考文献

1.用机器学习识别不断变化的股市状况—隐马尔科夫模型(HMM)的应用

2.R语言GARCH-DCC模型和DCC(MVT)建模估计

3.R语言实现 Copula 算法建模依赖性案例分析报告

4.R语言COPULAS和金融时间序列数据VaR分析

5.R语言多元COPULA GARCH 模型时间序列预测

6.用R语言实现神经网络预测股票实例

7.r语言预测波动率的实现:ARCH模型与HAR-RV模型

8.R语言如何做马尔科夫转换模型markov switching model

9.matlab使用Copula仿真优化市场风险

标签:网页,语言,问财,抓取,rcurl,搜索,爬虫,数据
From: https://www.cnblogs.com/tecdat/p/17773190.html

相关文章

  • 【小白必看】轻松获取王者荣耀英雄皮肤图片的Python爬虫程序
    前言当谈到王者荣耀游戏时,无法忽视的是其丰富多样的英雄皮肤。这些皮肤不仅为玩家提供了个性化的游戏体验,还展示了设计师们的创造力和努力。然而,要手动下载每个英雄的皮肤图片是一项枯燥且费时的任务。幸运的是,我们可以利用编程的力量来自动化这一过程。本文将介绍如何使用Pytho......
  • 【小白必看】Python爬虫数据处理与可视化
    前言本文分析了一段Python代码,主要功能是从网页中提取数据并进行数据处理与可视化。代码通过发送HTTP请求获取网页内容,使用XPath解析网页内容,并提取所需数据。然后使用pandas库构建数据结构,对数据进行统计与分组,并使用matplotlib库进行数据可视化。最后,对数据进行筛选、排序和保......
  • 【小白必看】Python爬虫实战之批量下载女神图片并保存到本地
    前言爬取网络上的图片是一种常见的需求,它可以帮助我们批量下载大量图片并进行后续处理。本文将介绍如何使用Python编写一个简单的爬虫,从指定网页中获取女神图片,并保存到本地。运行结果部分图片1.引入所需库首先需要导入两个库:requests用于发送网络请求,lxml用于解析......
  • 【玩转python系列】【小白必看】使用Python爬虫技术获取代理IP并保存到文件中
    前言这篇文章介绍了如何使用Python爬虫技术获取代理IP并保存到文件中。通过使用第三方库requests发送HTTP请求,并使用lxml库解析HTML,我们可以从多个网页上获取IP、Port和地址信息。本文将逐步解析代码的每一部分,帮助读者更好地理解爬虫的工作原理。导入依赖库importrequ......
  • 【玩转Python系列【小白必看】Python多线程爬虫:下载表情包网站的图片
    前言本文主要介绍了使用Python编写的多线程爬虫程序,用于下载表情包网站上的图片。通过解析网页内容和使用XPath定位,可以获取到图片的URL,并将其保存到本地。1.导入模块和库importrequestsfromlxmlimportetreefromthreadingimportThreadfromqueueimportQueueim......
  • 测试自动化 RPA 爬虫 等技术 备忘
    WinAppDriver全称是WindowsApplicationDriver,它提供了一些API,使得用户可以像selenium操作web一样来操作windows的应用程序.资源WinAppDriverhttps://github.com/microsoft/WinAppDriver/releases/tag/v1.2.1定位工具FlaUInspecthttps://github.com/FlaUI/FlaUInspect/releases......
  • JAVA爬虫被封IP问题的解决方法
    以下是JAVA爬虫被封IP问题的解决方法:解决Java爬虫被封IP问题随着网络技术的发展,Java爬虫在网络应用中越来越普遍,然而在爬取数据的过程中,经常会遇到IP被封的问题。以下是几种常见的解决方法:1.使用代理IP代理IP可以隐藏爬虫的真实IP地址,从而提高爬虫的隐蔽性,减少被封IP的风险。可以......
  • 爬虫从入门到应用简介
    爬虫从入门到应用简介爬虫是一种经过自动化程序获取互联网上的数据的技术。在本文中,我们将引见从入门到应用的爬虫技术。一、入门理解HTTP协议HTTP协议是爬虫的根底,因而理解HTTP协议是爬虫入门的第一步。HTTP协议定义了客户端和效劳器之间的通讯规则,包括恳求和响应等内容。学......
  • 爬虫实践07 | 爬取香港展会客户名单
    完整代码importrequestsimporttimeimportpandasaspdurl='https://www.globalsources.com/api/gsol-trade-show-bff/hk-online/v1/search-all-exhibitors'headers={'User-Agent':'Mozilla/5.0(WindowsNT10.0;Win64;x64)Apple......
  • Python网络爬虫基础进阶到实战教程
    认识网络爬虫网络爬虫是指一种程序自动获取网页信息的方式,它能够自动化地获取互联网上的数据。通过使用网络爬虫,我们可以方便地获取到网络上的各种数据,例如网页链接、文本、图片、音频、视频等等。HTML页面组成网页是由HTML标签和内容组成,HTML标签通过标签属性可以定位到需要......