#!/usr/bin/perl
use strict;
use warnings;
use LWP::Simple;
use Data::Dumper;
my $url = "http://ultimosegundo.ig.com.br/useg";
my $ReNoticiaPrincipal = '^\s*.*(.*)';
my $ReNoticiaSecundaria = '^\s*.*(.*)';
my $ReNoticiaPaginaTitulo = '^\s*(.*?)
';
my $ReNoticiaPaginaNota = '^\s*.*(.*?)
';
my $ReNoticiaPaginaNotaVip = '^\s*.*(.*?)(?:
)+';
my $ReDolarComercial = '^\s*D.+?lar\s+Comercial.*?\s+\s*(\d,\d+)\s*\s*
';
my $ReContacoes = '^\s*
\s*(.+%)\s*\s* | ';
my $ReUltimasSessao = '^\s*\s*(.+?)\s*\s*\s+::\s+(\d\d:\d\d:\d\d)\s*';
my $ReUltimasNota = '^\s*.*\s*(.*?)(?:
)+';
# estrutura de dados
my @Noticias;
my @Ultimas;
my @Manchetes;
my $DolarComercial;
my @Bolsas;
getstore($url, '/tmp/.ct');
open (URL, '/tmp/.ct');
while () {
if (m#$ReNoticiaPrincipal#o or m#$ReNoticiaSecundaria#o) {
my $Manchete = { Titulo => '', Link => '' };
$Manchete->{Titulo} = $2;
$Manchete->{Link} = $1;
push(@Manchetes, $Manchete);
}
elsif (m#$ReNoticiaPaginaTitulo#o) {
my $Noticia = { Titulo => '', Link => '', Conteudo => '' };
$Noticia->{Titulo} = $1;
$_ = ;
if (m#$ReNoticiaPaginaNota#o or m#$ReNoticiaPaginaNotaVip#o) {
$Noticia->{Conteudo} = $2;
$Noticia->{Link} = $1;
push (@Noticias, $Noticia);
}
}
elsif (m#$ReDolarComercial#o) {
$DolarComercial = $1;
}
elsif (m#$ReContacoes#o) {
$Bolsas[scalar(@Bolsas)] = $1;
}
elsif (m#$ReUltimasSessao#o) {
my $Ultima = { Sessao => '', Link => '', Conteudo => '', Hora =>'' };
$Ultima->{Sessao} = $1;
$Ultima->{Hora} = $2;
;
$_=;
if (m#$ReUltimasNota#o) {
$Ultima->{Link} = $1;
$Ultima->{Conteudo} = $2;
push (@Ultimas, $Ultima);
}
}
}
my %Bolsas = ( SP => $Bolsas[0], NY => $Bolsas[1], Nasdaq => $Bolsas[2] );
print "-" x 80, "\n";
print "\@Machetes\n", Dumper(\@Manchetes);
print "-" x 80, "\n";
print "\@Noticias\n", Dumper(\@Noticias);
print "-" x 80, "\n";
print "\@Ultimas\n", Dumper(\@Ultimas);
print "-" x 80, "\n";
print "\%Bolsas\n", Dumper(\%Bolsas);
print "-" x 80, "\n";
print "\$DolarComercial\n", Dumper(\$DolarComercial);
print "-" x 80, "\n";