Salvare completamente una pagina web di un sito qualsiasi

andreto

Utente Attivo
5 Dic 2012
88
0
0
Ciao a tutti,
vorrei salvare una pagina web di un sito qualsiasi possibilmente mantenendo anche tutte le immagini, file css e js nel mio ftp.

I browser hanno questa funzione, con Chrome basta cliccare col tasto destro e scegliere "Salva con nome", poi basta spostare i file creati con Filezilla nel mio Ftp.

Io invece vorrei salvare direttamente la pagina web nel mio ftp senza doverla prima salvare in locale.

Ho provato vari metodi per salvare le pagine html ma in alcuni casi quando visualizzo la pagina salvata ad esempio (Wiki...dia)
mi restituisce un errore di forbidden o cose del genere.

Come potrei fare?
 

andreto

Utente Attivo
5 Dic 2012
88
0
0
Perché non riesco a salvare le pagine di Wiki... Invece pagine di altri siti le salvo senza problemi?
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
24
Roma
alessandro1997.netsons.org
Perché devi impostare l'header User Agent, simulando un browser reale. Con cURL:
PHP:
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13');
 

andreto

Utente Attivo
5 Dic 2012
88
0
0
Perché devi impostare l'header User Agent, simulando un browser reale. Con cURL:
PHP:
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13');

Sto usando questo script:
PHP:
<?php

  $url = "http://www.google.it";
        
    $ch = curl_init(); 
    
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13');  
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);
        
    $output = curl_exec($ch);
    $info = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    
    curl_close($ch);

    if ($output === false || $info != 200) {
    $output = null;
    }
    
 echo $output;  

?>

Il problema è che con questo USERAGENT non mi fa vedere proprio tutto quello che c'è in originale sul sito, ad esempio su Google non visualizzo il footer e la barra nera sopra è trasparente.

Cambiando USERAGENT e mettendo ad esempio quello di IE10 sembra funzionare.

Codice:
Mozilla/5.0 (compatible; MSIE 10.6; Windows NT 6.1; Trident/5.0; InfoPath.2; SLCC1; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET CLR 2.0.50727) 3gpp-gba UNTRUSTED/1.0

Anche questo però ha un problema, se provo a ricaricare lo script più volte, una volta mi fa vedere il sito come in originale (tranne ovviamente le immagini ecc...)
altre volte invece le parole del footer sono spostate.

Con altri USERAGENT ho notato anche caratteri strani o lettere accentate visualizzate male.

Come mai succede questo?
C'è qualcosa che non va nello script oppure devo trovare un USERAGENT corretto e in base a cosa?
 
Discussioni simili
Autore Titolo Forum Risposte Data
Stex1967 Salvare una immagine che si trova su porta TCP 8080 di altro sito PHP 6
L salvare una immagine elaborata in canvas Javascript 1
L salvare una immagine elaborata in canvas Javascript 1
E Salvare immagini PHP 0
L salvare codice html in mysql PHP 3
L salvare somma con sottrazione PHP 1
M Salvare coordinate Maps nel DB PHP 2
D SALVARE "MASCHERA" + "ALLEGATO PDF" IN UN UNICO PDF MS Access 0
A Twitter aggiungere tweet a campagna esistente o salvare pubblico Social Media Marketing 0
D Salvare in diversi campi mysql con diversi ID PHP 0
D [Javascript] salvare immagine canvas - paypal Javascript 0
M Salvare JSONObject in Shared Preference Sviluppo app per Android 0
M [PHP] Salvare campo di una tabella in una variabile PHP 14
S [ASP] SALVARE VALORE SELECT OPTION SU CAMPO TABELLA ACCESS Classic ASP 9
M [PHP] FPDF Salvare su disco C locale Windows PHP 3
C Photoshop CS 6 salvare una modifica Photoshop 0
L [PHP] Salvare csv da form dati PHP 5
A Salvare immagine ridimensionata in MySql con GD PHP 12
G php salvare file in campo blob mysql: massimo 4MB PHP 1
M Salvare pagine web come segnalibro con istruzioni javascript Javascript 0
L Salvare posizione maps Sviluppo app per Android 0
G [PHP] SALVARE RECORD ESTRATTI DA DATABASE PHP 6
D Come salvare scelta della select "dinamica" ajax-php? Come dato php o attributo value tag option? Ajax 5
P [SOLVED] salvare il TCPDF output in mysql e rivisualizzarlo PHP 3
M Salvare i dati nel db e aprire altra pagina php PHP 7
M Form ASP su MsSQL salvare 2 campi in 1 Classic ASP 4
V [PHP] Salvare campo radio in db e leggerlo PHP 15
S [PHP] Salvare dati tabella in formato exel PHP 0
Benix89 Come salvare radio button selezionato Magento 1
Benix89 Salvare radio button selezionato PHP 2
P Come salvare il proprio diario di fb Discussioni Varie 0
P Salvare i dati restituiti dopo autenticazione OAuth2 Javascript 0
M Salvare in tabella link file importato PHP 1
F Cliccare e salvare src immagine HTML e CSS 2
M Cartella predefinita dove salvare i backup PHP 0
P dove si va a salvare il dbase phpmyadm una volta creato ???? Database 0
P dove si va a salvare il dbase phpmyadm una volta creato ???? Database 7
C Salvare il click su di un Button Sviluppo app per Android 9
Emix Salvare documenti in DB PHP 3
D salvare righe dinamicamente PHP 3
R Mettere la possibilità di Salvare in un gioco =) Come si fa? Java 2
C Salvare dati form in un file di testo PHP 2
M Salvare select con cookie PHP 1
IImanuII Salvare/recuperare html da un db PHP 5
S Salvare dei dati in una determinata tabella in base al select che l'utente seleziona PHP 8
M salvare una activity e richiamarla Sviluppo app per Android 6
Shyson Salvare impostazioni del Database Database 0
Z Salvare Form su un file .JPG Visual Basic 0
B Salvare dati in locale e sincronizzarli... Javascript 26
P Salvare vari tipi di file in cartelle. PHP 6

Discussioni simili