Посоветуйте парсер гугла

Discussion in 'Болталка' started by diznt, 20 May 2009.

  1. diznt

    diznt Elder - Старейшина

    Joined:
    31 Jan 2008
    Messages:
    432
    Likes Received:
    164
    Reputations:
    -19
    Собственно сабж
    В гугл шел
    Но там некоторые оказались не рабочими, либо вообще ниче не поймешь (как парсить)
    Вообщем какой парсер посоветуете? (на перл не предлогать!)
     
    #1 diznt, 20 May 2009
    Last edited: 20 May 2009
  2. mss-s

    mss-s New Member

    Joined:
    2 Mar 2009
    Messages:
    17
    Likes Received:
    2
    Reputations:
    0
    попробуй лучше так
    а дальше думаю разберешься

    http://www.google.com/ie?q=&num=100&hl=ru&start=0&sa=N&filter=0
     
  3. diznt

    diznt Elder - Старейшина

    Joined:
    31 Jan 2008
    Messages:
    432
    Likes Received:
    164
    Reputations:
    -19
    mss-s конечно + за линк, но мне парсер нужен (а твой линк просто выдает грубо говоря титлы с ссылкой на то что он нашол)
     
  4. diehard

    diehard Elder - Старейшина

    Joined:
    30 Sep 2007
    Messages:
    442
    Likes Received:
    266
    Reputations:
    15
    hrefer
     
  5. diznt

    diznt Elder - Старейшина

    Joined:
    31 Jan 2008
    Messages:
    432
    Likes Received:
    164
    Reputations:
    -19
    diehard не то, нужна без проксевая (я знаю что так долго будет без прокси собирать)
     
  6. devton

    devton Elder - Старейшина

    Joined:
    26 Oct 2007
    Messages:
    3,380
    Likes Received:
    5,179
    Reputations:
    48
    ниипаняятно ты сформулировал, афтор
    вот например неплохая связка:
    http://www.google.com/ie?q=&num=100&hl=ru&start=0&sa=N&filter=0
    +
    http://webdos.freezoka.com/files/htmllerz.zip (прога из архива может вырезать "от сих до сих")
     
  7. diznt

    diznt Elder - Старейшина

    Joined:
    31 Jan 2008
    Messages:
    432
    Likes Received:
    164
    Reputations:
    -19
    devton тоже не то, вообще бред какой то, если я прально понял то нужно для этой проги самому собирать определенные куски страницы и туда пихать
     
  8. ph1l1ster

    ph1l1ster Elder - Старейшина

    Joined:
    11 Mar 2008
    Messages:
    396
    Likes Received:
    153
    Reputations:
    19
    URL dumper

    а так?

    Code:
    <form method=GET> 
     <input type=text name=q value=""> 
     <input type=submit name=submit value="Поиск"> 
    </form> 
    <?php 
     If(isset($_GET['q'])) 
    { 
     $s=file_get_contents("http://www.google.com/search?q=".$_GET['q']."&num=100"); 
     $preg='#\"(http://)[a-z\.]+\/*[\S]+\"#'; 
     $p=preg_match_all($preg,$s,$ar,PREG_SET_ORDER); ; 
      for($i=0;$i<$p-1;$i++) 
       { 
        If(!strchr($ar[$i][0],"google"))  
         {  
          $ar[$i][0]=str_replace('"',"",$ar[$i][0]); 
          echo $ar[$i][0]."<br>"; 
         }  
       }  
    } 
    ?>
    или перловый. только на сокетах

    Code:
    #! /usr/bin/perl
    
    #  ===::: google parser v0.8 :::===
    #            (c)oded by drmist\STNC
    #            www.security-teams.net
    
    use IO::Socket::INET;
    
    $server = "google.com";
    $port = 80;
    $count = 0;
    $search = "";
    @found = ();
    @dn = ();
    
    if((@ARGV < 2)||(@ARGV > 8)||(@ARGV % 2 > 0)) { usage(); exit; }
    
    $i = 0;
    while($i < @ARGV)
    {
     if($ARGV[$i] eq "-s"){ $server = $ARGV[$i+1]; }
     elsif($ARGV[$i] eq "-p"){ $port = $ARGV[$i+1]; }
     elsif($ARGV[$i] eq "-r"){ $search = $ARGV[$i+1]; }
     elsif($ARGV[$i] eq "-n"){ $count = $ARGV[$i+1]; }
     else { print "Invalid key: ".$ARGV[$i]."\n"; exit; }
     $i += 2;
    }
    
    if($search eq ""){ usage(); exit; }
    $search =~ s/(.)/sprintf("%%%02x",ord($1))/eg;
    if($server !~ /:[0-9]{2,5}$/){$server.=":$port";}
    
    for($i = 0; $i < 10; $i++)
    { 
     @temp = get_request($server,"search?filter=0&num=100&start=".$i.
     "00&q=$search") =~ /(https?\:\/\/[a-z0-9\.\-\/\?\:\&\%\=\_]{5,})/gi;
     
     $a = 0;
     foreach $url (@temp)
     {
       if($url =~ /https?\:\/\/[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\/search\?q=cache:/i){ next; }
       ($domain) = $url =~ /^https?\:\/\/([a-z0-9\.\-]{5,})/i;
       $f=0;foreach(@dn){if($_ eq $domain){$f++;last;}}if($f){next;}
       push(@found, $url);
       if($count){if(!--$count){$a++;last;}}
       push(@dn,$domain);
     }
     if($a){last;}
    }
    
    foreach(@found){print "$_\n";}
    
    sub get_request()
    {
     local $sock;
     local $data = "";
     local($server, $url) = ($_[0], $_[1]);
     $sock = IO::Socket::INET->new($server) or return -2; # connection failed
     print $sock "GET /$url HTTP/1.0\r\n\r\n";
     while(<$sock>){$data .= $_;}
     close $sock;
     return $data;
    }
    
    sub usage()
    {
    
     print qq(
    drmist's google parser v 0.8
    
    usage: gparse.pl [-s <server>] [-p <port>] -r <request> [-n <number>]
     <server>  google server, default: google.com
     <port>    http-server port, default: 80
     <requets> search request
     <number>  number of links, that will be shown, default: all
    examples:
     perl gparse.pl -r 'filetype:php inurl:page=' | grep page=
     perl gparse.pl -s google.ru:80 -r 'Powered by phpbb' -n 10
     perl gparse.pl -s google.ru -p 80 -r 'site:com inurl:backup.sql'
     perl gparse.pl -s google.de -r 'inurl:seite=' -n 400
       
    for more information visit www.security-teams.net
     
    );
    
    }
     
  9. diznt

    diznt Elder - Старейшина

    Joined:
    31 Jan 2008
    Messages:
    432
    Likes Received:
    164
    Reputations:
    -19
    ВОт что пишет Parse error: syntax error, unexpected '<' in /home/freehost/t35.com/s/e/sex-for-you/2.php on line 2

    И во вторых я же говорил что НЕ НУЖНЫ ПЕРЛ СКРИПТЫ!
     
  10. diehard

    diehard Elder - Старейшина

    Joined:
    30 Sep 2007
    Messages:
    442
    Likes Received:
    266
    Reputations:
    15
    можешь отрубить прокси, если нужно без проксей.
     
  11. попугай

    попугай Elder - Старейшина

    Joined:
    15 Jan 2008
    Messages:
    1,515
    Likes Received:
    400
    Reputations:
    196
    а что ты именно парсить хочешь то?
     
  12. yarbabin

    yarbabin HACKIN YO KUT

    Joined:
    21 Nov 2007
    Messages:
    1,664
    Likes Received:
    913
    Reputations:
    363
    Code:
    #!/usr/bin/python
    #coded by faza02
    
    import urllib
    import re
    link=raw_input(u'link: ')
    for b in range(0, 51, 10):
     google=str(urllib.urlopen('http://www.google.ru/m?site=search&eosr=on&q=' + link + '&start=' + str(b)+ '&sa=N&mrestrict=xhtmlonly').read())
     link=re.findall(r';u=http%3A%2F%2F.*?\"\>',google)
     link=str(link)[2:-2]
     link=urllib.unquote(link)
     link=link.replace(';u=','')
     link=link.replace('\">','')
     link=link.replace(', ','\n')
     link=link.replace('\'','')
     f=open(u'c:/2.txt','a+')
     f.write(link+"\n")
     f.close()
     print 'ok!1'
     
    _________________________
  13. SanyaX

    SanyaX .::Club Life::.

    Joined:
    28 Jan 2005
    Messages:
    934
    Likes Received:
    394
    Reputations:
    261
    GlobalSquid SE Parser v1.8
    Вроде нормальный, ставишь таймаут 5 сек, и без прокси по тихой собирает.
     
  14. banana

    banana Member

    Joined:
    4 Mar 2009
    Messages:
    22
    Likes Received:
    72
    Reputations:
    18
    На питоне даже в Хакере 05 есть