Документ взят из кэша поисковой машины. Адрес оригинального документа : http://vo.astronet.ru/wiki/google_wheel
Дата изменения: Unknown
Дата индексирования: Sat Apr 9 22:50:25 2016
Кодировка:

Поисковые слова: topography
google_wheel [SAI Virtual Observatory - Wiki]

Simple perl-based Google Wonder Wheel scrapper

#!/usr/bin/perl -w
 
use strict;
 
use LWP::UserAgent;
use Data::Dumper;
use URI::Escape;
use Encode;
 
# Current locale encoding
#my $encoding = "koi8-r";
my $encoding = "utf8";
 
# Preferred query language
#my $lang = "ru";
my $lang = "en";
 
sub get_page($){
  my ($url) = @_;
 
  my $ua = LWP::UserAgent->new(agent => "Mozilla/5.0 (X11; U; Linux i686; ru, en_US; rv:1.6) Gecko/20040113");
 
  my $response = $ua->get($url);
 
  if ($response->is_success) {
    return $response->decoded_content;  # or whatever
  } else {
    die $response->status_line;
  }
}
 
sub get_wheel($){
  my ($query) = @_;
  my $url = "http://www.google.ru/search?q=".uri_escape_utf8(decode($encoding, $query))."&hl=$lang&tbo=1&tbs=ww:1";
  my $res = get_page($url);
 
  if($res =~ /"r":\[(.*?)\]/){
    return map {encode($encoding, decode("unicode", $_))} map {/"(.*?)"/} split /,/, $1;
  }
}
 
#print Dumper(get_wheel("supernova explosion"));
print Dumper(get_wheel("@ARGV"));
google_wheel.txt · Last modified: 2010/05/30 00:37 by karpov
Back to top
SAI VO | Astronet | SAI MSU | Legal Information
RFBR