我需要我的程序去finance.yahoo.com并下载AAPl的历史价格(以及其他4个......稍后)到csv文件。 (它会加载到数据库中......以后) 我需要这个程序每天晚上开始,下载文件并将其插入数据库。 问题是 - 我不知道我应该在脚本中使用什么链接,所以它每天都是相同的,以及脚本本身。我试过这个
#!/usr/bin/perl
use strict;
use warnings;
use WWW::Mechanize;
my $mech = WWW::Mechanize->new;
my $url = 'http://finance.yahoo.com/q/hp?s=AAPL+Historical+Prices';
$mech->get($url);
my $local_file_name ='AAPL.csv';
$mech->follow_link( url_regex => qr/Download/i );
$mech->get( $url, ":content_file" => $local_file_name );
它实际上下载了smth并将其存储到AAPl.csv中 - 但这是无稽之谈。
答案 0 :(得分:0)
试试这个:
use strict;
use warnings;
use LWP::Simple qw(getstore);
my @date = split(/\s+/, scalar localtime);
my %month = ('Jan'=> 0, 'Feb'=> 1, 'Mar'=> 2, 'Apr'=>3, 'May'=>4,
'Jun'=>5, 'Jul'=> 6, 'Aug' =>7, 'Sep'=>8, 'Oct'=>9, 'Nov'=>10, 'Dec'=>11);
my $url = 'http://ichart.finance.yahoo.com/table.csv?s=AAPL&d=$month{$date[1]}&e=$date[2]&f=$date[4]&g=d&a=8&b=7&c=1984&ignore=.csv';
getstore($url, "AAPL.csv");
我从实际下载链接获得了链接。由于我有链接,因此LWP :: Simple似乎是更好的选择。