2012-05-02 2 views
0

Я просто пишу простой бот для меня и моих друзей для использования в IRC. Нашел этот модуль, но по какой-то причине, несмотря на то, что я следил за примерами, я не могу заставить его фактически искать.
модуль можно увидеть here.
Пример мой код базируется можно увидеть here.404 Ошибка при использовании Net :: Google

Насколько я могу сказать, я не делаю каких-либо ошибок.

Я получаю этот вывод при включении отладки (только для последней строки с отладкой);

<p><b>404.</b> <ins>Thatâs an error.</ins> 
<p>The requested URL <code>/search/beta2</code> was not found on this server. 
<ins>Thatâs all we know.</ins> 
404 Not Found at /usr/lib/perl5/vendor_perl/5.8.8/SOAP/Lite.pm line 3720 

Мой код;

$msg =~ s/^google//g; # Get query 
my $google = Net::Google->new(key => GOOGLE_API_KEY, debug => 1); # Create search instance 
my $search = $google->search(); # Build query 
$search->query($msg); 
$search->starts_at(0); 
$search->max_results(100); 
$search->filter(0); 

$search->results(); # Search google 
my $random = int(rand(100)); 
my $count = 0; 

foreach my $result (@{$search->results()}) 
{ 
    if ($count == $random) 
    { 
     $irc->yield(privmsg => CHANNEL, $result->title() || "No Title"); 
     $irc->yield(privmsg => CHANNEL, $result->URL()); 
    } 
    $count++; 
} 

Любая идея, почему я получаю сообщение об ошибке?
У меня есть use Net::Google; и use SOAP::Lite;, и я проверил каталог SOAP, Lite.pm определенно существует ... google не помогло, поэтому я немного потерял.

+0

модуль - 2005 год, артикул также может быть. возможно, апи изменилась. – askovpen

+0

Это правильно. API SOAP действительно старый. Он давно устарел, а затем удален полностью, и я больше не могу найти информацию об этом факте на сайте developers.google.com. – daxim

+0

О, хорошо. Спасибо askvpen и @daxim, я довольно новичок в Perl. Я обычно использую java, и документы почти всегда говорят, когда что-то устарело ... – FizzBuzz

ответ

0
use Google::Search; 
my $search = Google::Search->Web(query => "rock"); 
while (my $result = $search->next) 
{ 
    print $result->rank, " ", $result->uri, " ",$result->title."\n"; 
} 
Смежные вопросы