Forum Forum inwestycyjneFundusze

WIOF - skrypt do pobierania ceny jednostki

WIOF - skrypt do pobierania ceny jednostki

Iceberg69 / 2007-12-19 12:09
Jako że portal money.pl nie spieszy się z dodaniem funduszy WIOF do portfela, mimo coraz częstszych zapytań użytkowników, postanowiłem napisać małe narzędzie do wyciągania informacji i aktualnych i historycznych cenach jednostek ze strony funduszu.
Kto wie, być może przyda się on i administratorom serwisu do szybszego zaimplementowania obsługi WIOF-ów tutaj.

PS.
Poniższy program napisałem dla siebie i udostępniam dla wygody każdego, kto chce i wie jak z niego skorzystać. Jeśli ktoś nie wie co z nim zrobić i jak uruchomić, proszę nie pytać mnie o radę.
--------------------------------------------------------------------------------
#!/usr/bin/perl

use WWW::Mechanize 1.00;
use strict;

die "Usage: $0 \n\n" unless (scalar @ARGV == 1);
my $fund = $ARGV[0];
my $mech = WWW::Mechanize->new(autocheck => 1);
$mech->get('http://www.wiof.eu/pl/prices/historical-prices/?ln=true') or die "Unable to get funds list!\n";

my @links = $mech->find_all_links(text_regex => qr/$fund/i) or die "Fund '$fund' not found!\n";
die "Fund '$fund' not found!\n" if (scalar @links == 0);
if (scalar @links > 1)
{
warn "Fund '$fund' found more than once:\n";
foreach my $link (@links)
{
print " * ",$link->text(),"\n";
}
die "\nPlease make your request more specific.\n";
}

my $url_csv = $links[0]->url_abs();
$url_csv =~ s/xls/csv/;
die "Fund '$fund' not found!\n" unless ($url_csv =~ /csv/);
$mech->get($url_csv) or die "Unable to get CSV file!\n";
print $mech->content;
--------------------------------------------------------------------------------
Wpisy na forum dyskusyjnym Money.pl stanowią wyraz osobistych opinii i poglądów ich autorów i nie powinien być traktowany jako rekomendacja kupna bądź sprzedaży papierów wartościowych. Money.pl nie ponosi za nie odpowiedzialności.

Najnowsze wpisy