我想以循环格式调用以下URL,对.TXT文件中列出的每个股票代号调用一次。在下面列出“ MSFT”的地方,该变量需要针对.TXT文件中列出的每个值(每行一个股票代号)进行更改。
运行此URL循环的PERL代码看起来如何?还是有一种更好的脚本语言可用于完成此任务?
感谢您的帮助。
就从这个开始吧
答案 0 :(得分:0)
我通常将WWW::Mechanize用于类似的任务。如果符号中包含特殊字符,我也更喜欢URI。
#!/usr/bin/perl
use warnings;
use strict;
use URI;
use WWW::Mechanize;
my $mech = 'WWW::Mechanize'->new;
my $uri = 'URI'->new('https://www.alphavantage.co/query');
my %params = (function => 'TIME_SERIES_DAILY_ADJUSTED',
outputsize => 'full',
apikey => '...',
datatype => 'csv');
while (my $symbol = <>) {
chomp $symbol;
my $url = $uri;
$url->query_form(%params, symbol => $symbol);
$mech->get($url);
$mech->save_content("$symbol.csv");
}
您可能需要将get
调用包装到eval
中,并可能在失败时重试几次。另外,如果您确实公开了API密钥,请考虑对其进行更改。