Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    3,072

    Bufferizzazione pagina e visualizzazione

    Ciao a tutti, ho un problema con questo script:

    In pratica in scraped mi salvo i miei bei risultati presi da un URL

    if ($handle) {
    while (!feof($handle)) {
    $buffer = fgets($handle, 4096);
    $scraped .= $buffer;
    }
    fclose($handle);
    }

    Ora vorrei salvare gli URL trovati

    $results = array();
    preg_match_all('/a href="([^"]+)" class=l.+?>.+?<\/a>/',$scraped,$results);


    ma se dopo questa operazione stampo l'array creato

    print_r($results);

    ottengo

    Array ( [0] => Array ( ) [1] => Array ( ) ) Array ( [0] => Array ( ) [1] => Array ( ) ) Array ( [0] => Array ( ) [1] => Array ( ) ) Array ( [0] => Array ( ) [1] => Array ( ) ) Array ( [0] => Array ( ) [1] => Array ( ) ) Array ( [0] => Array ( ) [1] => Array ( ) ) Array ( [0] => Array ( ) [1] => Array ( ) ) Array ( [0] => Array ( ) [1] => Array ( ) ) Array ( [0] => Array ( ) [1] => Array ( ) )


    Cosa sbaglio?? Sembra che non vengano salvati gli URL trovati

    Grazie

  2. #2
    tutto questo codice lo puoi trasformare (insieme all'fsockopen) nel 90% dei casi semplicemente in
    $scraped = file_get_contents("http://dominio.tld/path/to/page");

    detto questo ad occhio la preg mi sembra corretta, ma fare una cosa del genere
    #<a(.*?)href="([^"]+)"(.*?)class="?l.+?"?(.*?)>.*?<\/a>#is

    in questo modo se sono presenti più spazi, tab o qualsiasi altro elemento tra le varie parti che compongono il tag a va bene comunque ... inoltre se il tag è spezzato su più righe viene letto lo stesso

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    3,072
    Forse il problema è nei risultati della pagina...

    intendo, tramite questo script dovrei leggere i link tra i risultati di google

    ma non vorrei che google, ora, in qualche modo non renda visibili gli URL

    cosa ne pensate??

    Codice PHP:
       $gg_url 'http://www.google.it/search?hl=it&q=' urlencode($_GET['keyword']) . '&start=';

       echo 
    '1';
       echo 
    $gg_url;

       
    $url preg_replace('(^[url]http://[/url]|/$)','',$_GET['url']);

       echo 
    "
    "
    ;
       echo 
    "2";
       echo 
    $url;

       for (
    $page 0$page 9$page++) {

         
    $handle fopen($gg_url $page  ,'r');

         
    $scraped '';

          if (
    $handle) {
            while (!
    feof($handle)) {
                
    $buffer fgets($handle4096);
                
    $scraped .= $buffer;
            }
            
    fclose($handle);
          }


          
    $results = array();
          
    preg_match_all('/a href="([^"]+)" class=l.+?>.+?<\/a>/',$scraped,$results); 

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    3,072
    Nulla???

  5. #5
    Utente di HTML.it L'avatar di Ranma2
    Registrato dal
    Mar 2003
    Messaggi
    2,650
    Considerando che quel parser va contro i termini di utilizzo di Google. Ti conviene usare le loro api

    http://code.google.com/apis/ajaxsearch/

  6. #6
    NOn so se nasconda gli url perchè magari usa js, ma se ti stampi l'html che ottieni e gli dai una letta, scommetto che ti fai un'idea
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    3,072
    Sono ferma al punto di partenza, mi serve uno script PHP che dato un URL ed una parola chiave mi dia la posizione in termini di pagina su Google. E' proprio impossibile?

    Grazie

  8. #8
    sinceramente a mio avviso dovresti guardare bene tra le api di google e googlando un pò...io per esempio ho trovato due link

    http://code.google.com/p/seostats/ (vedi se funge)

    http://www.sitepoint.com/track-rank-google-api/ (forse è datato)

    insomma, ricerca un po'...
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.