#!/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";