从 Yahoo.com 获取股票数据(csv格式)
发布时间:2020-12-15 21:08:01 所属栏目:大数据 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 #!/usr/bin/perl## Script to download a table of daily stock data in .csv format# from yahoo.com## Syntax: yahoo.pl symbol startdate stopdate
以下代码由PHP站长网 52php.cn收集自互联网 现在PHP站长网小编把它分享给大家,仅供参考 #!/usr/bin/perl # # Script to download a table of daily stock data in .csv format # from yahoo.com # # Syntax: yahoo.pl <symbol> <startdate> <stopdate> # where startdate and stopdate can be in almost any format # use Date::Manip; ($symbol,$startdate,$stopdate)[email?protected]; $startdate = &ParseDate($startdate); $stopdate = &ParseDate($stopdate); #print "symbol=$symbol start=$startdate stop=$stopdaten"; $startday = &UnixDate($startdate,"%d"); $startmon = &UnixDate($startdate,"%m"); $startyear = &UnixDate($startdate,"%y"); $stopday = &UnixDate($stopdate,"%d"); $stopmon = &UnixDate($stopdate,"%m"); $stopyear = &UnixDate($stopdate,"%y"); $port=80; # HTTP $dataserver="chart.yahoo.com"; $AF_INET=2; $SOCK_STREAM=1; $sockaddr='S n a4 x8'; ($name,$aliases,$proto)=getprotobyname('tcp'); ($name,$type,$len,$remoteaddr)=gethostbyname($dataserver); $remote=pack($sockaddr,$AF_INET,$port,$remoteaddr); ($a,$b,$c,$d)=unpack('C4',$remoteaddr); #print "remoteaddr=$a.$b.$c.$d port=$portn"; if (socket(SOCK,$SOCK_STREAM,$proto)) { #print "Socket OKn"; } else { die $!; } if (connect(SOCK,$remote)) { #print "connect OKn"; } else { die $!; } $local=getsockname(SOCK); ($family,$localaddr)=unpack($sockaddr,$local); ($a,$localaddr); #print "remoteaddr=$a.$b.$c.$d port=$portn"; select(SOCK); $|=1; select(STDOUT); print SOCK "GET /table.csv?s=$symbol&a=$startmon&b=$startday&c=$startyear&d=$stopmon&e=$stopday&f=$stopyear&g=d&q=q&y=0&z=$symbol&x=.csv HTTP-1.0nn"; $start = 0; while (<SOCK>) { if ($start) { ($date,$open,$high,$low,$close,$volume) = split(/,/); ($day,$month,$year) = split('-',$date); $year = int $year; if ($year < 80) { $year = $year + 2000; } $dateint = &ParseDate("$month $day,$year"); $date = &UnixDate($dateint,"%Y/%m/%d"); print $date,' ',$volume; } /^Date/ && ($start = 1); } 以上内容由PHP站长网【52php.cn】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |