Visualizzazione risultati 1 fino 11 di 11

Discussione: Pescare links da pagina web con determinate condizioni

  1. #1
    L'avatar di foreach
    foreach non è connesso Altervistiano Junior
    Data registrazione
    11-06-2008
    Residenza
    3 metri sotto terra
    Messaggi
    501

    Arrow Pescare links da pagina web con determinate condizioni

    Ciao a tutti,

    ho cercato con "pescare links", "prelevare links" e "prendere links" ma non ho trovato niente di interessante.

    Quello che vorrei fare è questo:
    1) prendere il sorgente di una pagina web esterna e memorizzarlo in una variabile
    2) prendere tutti i links presenti in quella pagina (il testo sottolineato e la pagina web di destinazione)
    3) selezionare tutti i links che hanno una determinata condizione
    4) memorizzare in una variabile tipo array i dati selezionati, es array("link" => "testo link")


    Qualcuno mi può aiutare?


    Grazie,
    foreach
    Codice PHP:
    foreach($vettore as $chiave => $valore) {
    echo 
    "Ciao";


  2. #2
    L'avatar di binarysun
    binarysun non è connesso Utente storico
    Data registrazione
    02-07-2004
    Messaggi
    2,017

    Predefinito

    da: http://www.the-art-of-web.com/php/parse-links/

    Codice:
    <?PHP
      // Original PHP code by Chirp Internet: www.chirp.com.au
      // Please acknowledge use of this code by including this header.
    
      $url = "http://www.example.net/somepage.html";
      $input = @file_get_contents($url) or die("Could not access file: $url");
      $regexp = "<a\s[^>]*href=(\"??)([^\" >]*?)\\1[^>]*>(.*)<\/a>";
      if(preg_match_all("/$regexp/siU", $input, $matches)) {
        // $matches[2] = array of link addresses
        // $matches[3] = array of link text - including HTML code
      }
    ?>
    "L'intelligenza è una pianta che va curata continuamente.
    Dovreste vedere com'è bello, il mio bonsai."
    Rat-man®

    [Gradient Text]
    [Su che server sei?]
    ->flickr

  3. #3
    L'avatar di foreach
    foreach non è connesso Altervistiano Junior
    Data registrazione
    11-06-2008
    Residenza
    3 metri sotto terra
    Messaggi
    501

    Predefinito

    Allora il preg_match_all() mi funziona, però non mi funziona il file_get_contents() di un file esterno al server.

    C'è un modo per ovviare al problema (avrei sentito la curl ma non so come funziona)?



    Grazie,
    foreach
    Codice PHP:
    foreach($vettore as $chiave => $valore) {
    echo 
    "Ciao";


  4. #4
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    forse non hai abilitato la connessione server to server.....

    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  5. #5
    L'avatar di foreach
    foreach non è connesso Altervistiano Junior
    Data registrazione
    11-06-2008
    Residenza
    3 metri sotto terra
    Messaggi
    501

    Predefinito

    Si infatti opero in locale, non so come fare e non mi serve per altre cose tranne che per questa.

    Ho trovato qui sul forum una discussione che parla di fsockopen() che è abilitata sul mio localserver.

    Dato che non so come funziona di preciso questa funzione, mi sapete fare un esempio?



    Grazie,
    foreach
    Codice PHP:
    foreach($vettore as $chiave => $valore) {
    echo 
    "Ciao";


  6. #6
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    controlla semplicemente se la connessione server to server non è ristretta ad una lista di domini, accedi al pannello --> altersito --> risorse & upgrade --> server to server

    http://php.net/manual/en/function.fsockopen.php <-- ci sono tantissimi esempi

    http://php.net/manual/en/function.file-get-contents.php <-- lo stesso....
    Ultima modifica di EuroSalute : 24-04-2011 alle ore 19.51.24 Motivo: info...
    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  7. #7
    L'avatar di foreach
    foreach non è connesso Altervistiano Junior
    Data registrazione
    11-06-2008
    Residenza
    3 metri sotto terra
    Messaggi
    501

    Predefinito

    Citazione Originalmente inviato da foreach Visualizza messaggio
    Si infatti opero in locale
    Hai letto che ho scritto? Opero nel mio computer, non su hosting.



    foreach
    Codice PHP:
    foreach($vettore as $chiave => $valore) {
    echo 
    "Ciao";


  8. #8
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    si, scusa, ho fatto caso dopo....

    come operi sul pc? che tipo di server hai installato? se si può conoscere....
    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  9. #9
    L'avatar di andreafallico
    andreafallico non è connesso Super Moderatore
    Data registrazione
    02-06-2009
    Messaggi
    1,981

    Predefinito

    Citazione Originalmente inviato da foreach Visualizza messaggio
    Si infatti opero in locale, non so come fare e non mi serve per altre cose tranne che per questa.

    Ho trovato qui sul forum una discussione che parla di fsockopen() che è abilitata sul mio localserver.

    Dato che non so come funziona di preciso questa funzione, mi sapete fare un esempio?



    Grazie,
    foreach
    http://forum.it.altervista.org/php-m...tml#post699156

  10. #10
    L'avatar di foreach
    foreach non è connesso Altervistiano Junior
    Data registrazione
    11-06-2008
    Residenza
    3 metri sotto terra
    Messaggi
    501

    Predefinito

    Si ho letto il tuo post e la documentazione ufficiale della funzione e ho fatto un po' di codice:
    Codice PHP:
    $host = "forum.it.altervista.org";
    $sorg = "";
    $han = fsockopen($host, 80);
    if(!
    $han) {
    echo
    'Errore di connessione al server';
    } else {
    $cmd = "GET / HTTP/1.1\r\nHost: ".$host."\r\nConnection: Close\r\n\r\n";
    fwrite($han, $cmd);
    while((
    $buf = fgets($han, 4096)) !== false) {
    $sorg .= $buf;
    }
    }
    fclose($han);
    Solo che su certi siti funziona, su altri no!

    Per il match dei link ci sono riuscito e va, ma il prelevamento del file no, come ho tentato di provare con VB6 (nell'altro topic, ma non faccio crossposting) e non va, lo stesso è con php.

    Se scarico la libreria cURL e la installo potrebbe funzionare?



    Grazie,
    foreach
    Codice PHP:
    foreach($vettore as $chiave => $valore) {
    echo 
    "Ciao";


  11. #11
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    devi solo provare, non posso dirti altro perchè non so su quale sistema stai lavorando....

    il manuale per cURL -->http://php.net/manual/en/ref.curl.php qui trovi tanti esempi

    poi non capisco perchè non puoi utilizzare file_get_contents()
    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

Tags for this Thread

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •