2013-11-20 2 views
2


Я пытаюсь получить информацию в разделах содержимого содержимого веб-страницы, и мне бы хотелось, чтобы мой скрипт подождал и прочитал новый элемент, разделов контента, отображаемых на веб-странице. Какие-либо предложения?Подождите, пока сообщение появится с помощью WWW :: Mechanize :: Firefox

use WWW::Mechanize::Firefox; 

my $mech = WWW::Mechanize::Firefox->new(); 
$mech->get('https://openbook.etoro.com/Dellos/overview/'); 
my @text = $mech->selector('.item-content'); 

for my $p (0..$#text) { 
    my $normal=$text[$p]->{innerHTML}; 
    print $normal; 
} 
exit; 
+1

После того, как вы выбрали страницу, единственный способ получить новый контент - это получить его снова (при условии, что в игре нет JavaScript). Вы можете опросить страницу до тех пор, пока заголовок 'Last-Modified' не изменится, но сначала вы должны проверить условия использования сайта. – ThisSuitIsBlackNot

ответ

0

Это очень простая реализация. Прежде чем использовать это, пожалуйста, следуйте рекомендациям @ThisSuitIsBlackNot, чтобы убедиться, что это нормально.

use WWW::Mechanize::Firefox; 

my $mech = WWW::Mechanize::Firefox->new(); 
my %seen; 
while (1){ 
    $mech->get('https://openbook.etoro.com/Dellos/overview/'); 
    my @text = $mech->selector('.item-content'); 
    for my $p (0..$#text) { 
    next if $seen{$p}; 
    my $normal=$text[$p]->{innerHTML}; 
    print $normal; 
    $seen{$p} = 1; 
    } 
    sleep 30; 
} 
exit;