导航:首页 > 数据行情 > excel爬取股票数据

excel爬取股票数据

发布时间:2022-04-29 10:20:49

‘壹’ 如何以excel取得股市动态网页资料

一、建立好一个Excel档后,变更页签名称为‘现值’及‘股票资料’。

二、在‘股票资料’页签的第一格中插入web资料

三、在web窗口中查询欲链接的数据,并勾核欲歃入数据的范围

四、在汇入的数据上,右键单击选择内容,勾核开启档案自动更新数据,并指定每隔三分钟自动重新取得数据。

五、在现值数据中,输入股票名称及张数,并且在购入值输入购买股票的购买价值。

六、接下来依下列说明输入功式(以第一笔数据为例):
字段 标题 输入公式 A栏 股号 由股票数据复制贴上 B栏 购买价 手动输入购买当时的价位 C栏 股票现价 =VLOOKUP(A2,股票资料!A:L,3,0) D栏 终值 =L2-K2 E栏 投报率 =IF(ISERR(D2/K2)=TRUE,0,D2/K2) F栏 张数 手动输入购买当时的张数 G栏 买价 =ROUND(B2*1000+I2,0) H栏 卖价 =C2*1000 I栏 买入手续费 =ROUND(B2*1000*0.001425,2) J栏 卖出手续费 =ROUND(C2*1000*0.004425,2) K栏 买入总值 =G2*F2 L栏 卖出总值 =(H2-J2)*F2

‘贰’ 如何下载股票历史成交数据到Excel或txt

以华中智能股票软件为例:(以Think pad X13 锐龙版笔记本电脑,Windows 10 操作为例)首先切换到要下载数据的股票K线形态,按“F1”进入“日线某某股票历史成交”,点击鼠标右键->数据导出->导出所有数据->在“请选择导出的类型”中选择excel或txt
补充资料:
如何获取所有股票历史数据:
如果要对股市进行分析,首先就要获取所有股票的历史数据,只有通过股票的历史数据,我们才能分析出股市的规律。
(以Think pad X13 锐龙版笔记本电脑,Windows 10 操作为例)
一、工具/原料
1、EXCEL2007或者以上版本,不能使用WPS
2、电脑1g内存1核处理器及以上配置
3、拥有较强逻辑分析能力以及少量智慧及以上的大脑一颗
方法/步骤:
第一步,获取股票代码,复制其中一部分到第一个工作表A4到A127,然后通过程序把每一个代码写入到不同的工作表A2位置,并对该工作表以该股票代码命名。程序如下:
Sub 工作表命名()
For i = 4 To 127
Sheets(i).Range("a2") = "'" & Sheets(1).Range("a" & i)
Next i
For i = 4 To Sheets.Count
Sheets(i).Name = Sheets(i).Range("a2").Value
Next
End Sub
第二步,获取股票历史数据。代码如下:
Private Function GetSource(sURL As String) As String
Dim oXHTTP As Object
Set oXHTTP = CreateObject("MSXML2.XMLHTTP")
oXHTTP.Open "GET", sURL, False
oXHTTP.Send
GetSource = oXHTTP.responsetext
Set oXHTTP = Nothing
End Function
Sub 历史数据()
Dim objXML As Object
Dim txtContent As String
Dim i As Integer
Dim strCode As String
Dim gp As String
Dim kaishihang
Dim arr, arr1, arr2, arr3, arr4, arr5, arr6, arr7, arr8, arr9, arr10, arr11
On Error Resume Next
EndRow = Range("a65536").End(xlUp).Row
startRow = 4
If startRow <= EndRow Then
Range(Cells(startRow, 1), Cells(EndRow, 11)).Value = ""
Else
Exit Sub
End If
Set objXML = CreateObject("Microsoft.XMLHTTP")
gp = [A2]
For h = 1 To 4
For m = 1 To 4
kaishihang = [A65535].End(xlUp).Row
nian = Replace(Str(Year(Now) + 1 - h), " ", "")
ji = Replace(Str(4 + 1 - m), " ", "")
With objXML
.Open "GET", "http://quotes.money.163.com/trade/lsjyj_" + gp + ".html?year=" + nian + "&season=" + ji + "", False
.Send
If objXML.Status = 200 Then
txtContent = .responsetext
arr = Split(txtContent, "'>")
For i = 1 To UBound(arr)
arr1 = Split(arr(i), " Cells(i + kaishihang, 1) = Right(Left(arr1(0), 10), 10)
arr2 = Split(arr1(1), Chr(60))
Cells(i + kaishihang, 2) = Mid(arr2(0), InStr(arr2(0), ">") + 1)
arr3 = Split(arr1(2), Chr(60))
Cells(i + kaishihang, 3) = Mid(arr3(0), InStr(arr3(0), ">") + 1)
arr4 = Split(arr1(3), Chr(60))
Cells(i + kaishihang, 4) = Mid(arr4(0), InStr(arr4(0), ">") + 1)
arr5 = Split(arr1(4), Chr(60))
Cells(i + kaishihang, 5) = Mid(arr5(0), InStr(arr5(0), ">") + 1)
arr6 = Split(arr1(5), Chr(60))
Cells(i + kaishihang, 6) = Mid(arr6(0), InStr(arr6(0), ">") + 1)
arr7 = Split(arr1(6), Chr(60))
Cells(i + kaishihang, 7) = Mid(arr7(0), InStr(arr7(0), ">") + 1)
arr8 = Split(arr1(7), Chr(60))
Cells(i + kaishihang, 8) = Mid(arr8(0), InStr(arr8(0), ">") + 1)
arr9 = Split(arr1(8), Chr(60))
Cells(i + kaishihang, 9) = Mid(arr9(0), InStr(arr9(0), ">") + 1)
arr10 = Split(arr1(9), Chr(60))
Cells(i + kaishihang, 10) = Mid(arr10(0), InStr(arr10(0), ">") + 1)
arr11 = Split(arr1(10), Chr(60))
Cells(i + kaishihang, 11) = Mid(arr11(0), InStr(arr11(0), ">") + 1)
Next i
End If
End With
Next m
Next h
Set objXML = Nothing
End Sub
第三步,获取上证历史数据,并获取所有股票的历史数据。程序如下:
Sub 所有股票历史数据获取()
Application.ScreenUpdating = False
Dim s As String, gp As String, nian As String, ji As String, s1 As String
Dim arr, arr1, arr2, arr3, arr4, arr5, arr6, arr7, arr8, arr9
Dim i, h As Long
Dim kaishihang
Dim LastRow As Long, r As Long
On Error Resume Next
EndRow = Sheet2.Range("a65536").End(xlUp).Row
startRow = 4
If startRow <= EndRow Then
Sheet2.Range(Sheet2.Cells(startRow, 1), Sheet2.Cells(EndRow, 9)).Value = ""
Else
Exit Sub
End If
For h = 1 To 5
For m = 1 To 4
kaishihang = Sheet2.[A65535].End(xlUp).Row
nian = Replace(Str(Year(Now) + 1 - h), " ", "")
ji = Replace(Str(4 + 1 - m), " ", "")
s1 = "http://quotes.money.163.com/trade/lsjysj_shu_000001.html?year=" + nian + "&season=" + ji + ""
s = GetSource(s1)
arr = Split(s, "'>")
For i = 1 To UBound(arr)
arr1 = Split(arr(i), " Sheet2.Cells(i + kaishihang, 1) = Right(Left(arr1(0), 4), 4) & "-" & Right(Left(arr1(0), 6), 2) & "-" & Right(Left(arr1(0), 10), 2)
arr2 = Split(arr1(1), Chr(60))
Sheet2.Cells(i + kaishihang, 2) = Mid(arr2(0), InStr(arr2(0), ">") + 1)
arr3 = Split(arr1(2), Chr(60))
Sheet2.Cells(i + kaishihang, 3) = Mid(arr3(0), InStr(arr3(0), ">") + 1)
arr4 = Split(arr1(3), Chr(60))
Sheet2.Cells(i + kaishihang, 4) = Mid(arr4(0), InStr(arr4(0), ">") + 1)
arr5 = Split(arr1(4), Chr(60))
Sheet2.Cells(i + kaishihang, 5) = Mid(arr5(0), InStr(arr5(0), ">") + 1)
arr6 = Split(arr1(5), Chr(60))
Sheet2.Cells(i + kaishihang, 6) = Mid(arr6(0), InStr(arr6(0), ">") + 1)
arr7 = Split(arr1(6), Chr(60))
Sheet2.Cells(i + kaishihang, 7) = Mid(arr7(0), InStr(arr7(0), ">") + 1)
arr8 = Split(arr1(7), Chr(60))
Sheet2.Cells(i + kaishihang, 8) = Mid(arr8(0), InStr(arr8(0), ">") + 1)
arr9 = Split(arr1(8), Chr(60))
Sheet2.Cells(i + kaishihang, 9) = Mid(arr9(0), InStr(arr9(0), ">") + 1)
Next i
Next m
Next h
Application.ScreenUpdating = True
n = Worksheets.Count
For i = 4 To n
Worksheets(i).Activate
历史数据
Next
End Sub
第四步,保存工作簿,并对该工作簿命名为1,然后复制该工作簿27份,把所有股票代码写入每一个工作簿第一个工作表的A3到A127列。然后根据第一步对工作簿内的工作表命名,并在每一个工作表A2单元格内写入股票代码。
第五步,把这些工作簿存放到炒股文件夹下的数据库文件下。然后在炒股文件夹下新建一个工作簿,命名为“一键更新表格”,写入如下代码:
Sub 所有股票历史数据更新()
Dim wb As Workbook
For i = 1 To 27
Set wb = Workbooks.Open(ThisWorkbook.Path & "数据库" & i & "".xlsb"")
Application.Run ""'"" & wb.Path & """" & i & "".xlsb'!所有股票历史数据获取""
wb.Save
wb.Close
Next i
End sub
当启动这一段代码以后,程序会自动一个一个的打开对应的工作簿然后获取里面所有股票的历史数据,存放在对应的工作表当中。
第六步,对相应的程序添加按钮,这样,我们在启动对应程序时,只需要点一下对应的按钮就可以实现了。这样,我们通过多个工作簿就实现了获取所有股票历史数据的方法。而后面,我们只需要通过获取对应股票每一天的历史数据,我们就能够在任意一天很快速的能够拥有所有股票的历史数据了。
注意事项
1、在后续需要对这些数据进行分析,里面会加入很多计算,所以启动所有历史数据更新时,我们应该要关闭自动更新。
2、因为历史数据很大,所以这里只获取四年的数据,想要获取更多数据,可以更改程序里面 “For h = 1 To 5”的那个5即可。
3、历史数据的获取需要较长的时间,要提前做好准备。
4、如果你想要弄清楚用EXCEL建立炒股系统的整套方法,请看后续内容。"

‘叁’ 如何通过excel获取股票列表

1这里以获取中国石油(601857)的行情为例,打开提供股市行情的网站,在页面的“个股查询”区域输入该股票代码,选择“实时行情”,单击“行情”按钮之后就可以查询中国石油的行情数据,接下来复制地址栏中网址。

2运行Excel,新建一个空白工作簿,选择“数据”选项卡中“获取外部数据”选项组中“导入外部数据一自网站”命令。

3弹出“新建Web查询’对话框,在地址栏中输入刚刚复制的地址,单击“转到”按钮,此时在下面的文本框中打开网站,单击“导入”按钮。

4弹出“导入数据”对话框,选择要插入的工作表,单击“确定”按钮即可。此时在工作表中导入了网站的数据。

‘肆’ 如何获取股票数据excel格式的


1、 打开一个空白电子表格,并选择【数据】标签页。
2、单击【获取外部数据】中的按纽,在弹出的【新建WEB查询】对话框中输入要导入,并单击【转到】按纽,打开;
3、 在打开的【新建WEB查询】对话框中点击黄色向右点头选择要导入的数据;
4、 数据选择换成后,箭头变成绿色的小勾,并点击【导入】按纽完成数据的导入工作。
5、 数据导入完成之后,需要设定数据的刷新频率。在任一单元格上右击鼠标,在菜单中选择【数据范围属性】;
6、 在弹出的【数据范围属性】弹出菜单中更改【刷新控件】中将默认的60分钟修改成1分钟,之后保存退出。

‘伍’ Excel 获取所有股票的数据,非常快,历史数据怎么获取

下载你开户股票行的电脑客户端,可选择导出历史数据,即可

‘陆’ "如何用excel获取网页上的股票数据,并按照日期制成表格"请问你是按照什么技术完成的

抱歉,后来我使用文华财经的“有问必答”功能,请他们帮我编写了一个指标,实现了我要的结果,所以并没有用excel。
不过你说的我试过。这个方法我测试到一半就浅尝则止了。你可以试试看。

第一步,找到你要的网站,获得数据源。
第二步,excel里面,有导入网站数据的功能,他会让你选择使用什么数据表格。

具体的,你在网络上搜索一下——excel导入外部数据,就会有介绍。

‘柒’ 怎样用Excel看股票如何看股票

推荐个非常好用的工具——腾讯文档,我现在看股票实时信息就是用的这个,它们的在线表格有个“股票动态函数”,非常好用!简单、无需学习、数据实时自动更新;看看我日常看的股票表:


‘捌’ 如何用excel获得股票实时数据

自动获取所有股票历史数据,也能获取当天数据https://item.taobao.com/item.htm?id=536564850759

‘玖’ 怎样用excel 实时读取 股票日线数据

定量分析的第一步,是获取数据。
获取股票历史行情数据最方便的途径,就是直接读取股票行情软件留在你电脑中的日线数据文件。
但如果不是程序员,电脑里一般不会有VB、VC之类的编程语言。
其实,大家的电脑中一般都有OFFICE。OFFICE中的EXCEL自带了一个VBA语言的编程环境。功能也很强大。
我用EXCEL里的VBA编写了一段代码,读取通达信股票行情软件的日线文件。已经测试通过。
代码如下。与爱好定量分析的朋友分享。
TypeMyType
a1AsLong'标示码
a2AsLong'日期
a3AsSingle'开盘价
a4AsSingle'最高价
a5AsSingle'最低价
a6AsSingle'收盘价
a7AsSingle'成交金额
a8AsLong'成交量
EndType
Sub按钮1_Click()
DimFile2AsInteger
DimbAsMyType
File1=FreeFile
Opensh600000.dayForBinaryAccessReadAs#File1i=1DoWhileNotEOF(File1)
Get#File1,,b
Cells(i,1)=b.a1
Cells(i,2)=b.a2
Cells(i,3)=b.a3
Cells(i,4)=b.a4
Cells(i,5)=b.a5
Cells(i,6)=b.a6

阅读全文

与excel爬取股票数据相关的资料

热点内容
标普制药行业指数的股票代码 浏览:836
中国跟油田有关系的股票 浏览:64
怎么查股票绑定的银行卡号 浏览:424
白银基金股票走势 浏览:650
第九城市中国股票 浏览:952
股票换庄后的走势如何 浏览:594
股票市盈率净资产 浏览:884
经济增长对股票投资影响 浏览:699
中国银行股票发展趋势 浏览:669
中国中旅历史股票价格 浏览:576
股票账户怎么改名字 浏览:218
买涨停后的股票风险大吗 浏览:895
景兴纸业转债对股票有影响吗 浏览:282
华泰证券股票交易软件官方饭 浏览:71
st股票如何避免被退市 浏览:360
002160股票历史资金流向 浏览:998
步长制药股票可长期持有吗 浏览:800
在股票公司上班赚钱吗 浏览:47
龙芯科技的股票代码 浏览:147