L'immagine del profilo è uno degli elementi principali di qualsiasi account di social media, ma applicazioni come Instagram non ti consentono di visualizzarla o scaricarla. Questo processo può essere facilmente ottenuto utilizzando uno strumento di automazione web come Selenium con Python.

Impara a usare questo potente duo per interagire con qualsiasi elemento di una pagina web, automatizzarlo e risparmiare tempo prezioso investendo in attività produttive. E la parte migliore? Costruiscilo senza nemmeno accedere o avere un account Instagram.!

Il processo di costruzione dell'algoritmo

La costruzione dell'algoritmo si riferisce al processo di identificazione del problema ed elenco dei passaggi necessari per automatizzare il programma. I diversi passaggi necessari per scaricare un'immagine del profilo sono:

  1. Prendi il nome utente di un profilo come input
  2. Apri Google Chrome
  3. Visita il profilo Instagram
  4. Scarica l'immagine del profilo

Questo serve come algoritmo della dichiarazione del problema.

instagram viewer

Questo progetto utilizza i seguenti moduli e strumenti Python.

1. Modulo Urllib

Urllib è un modulo Python utilizzato per gestire gli URL da Internet. Utilizzerai questo modulo per scaricare l'immagine del profilo dell'account dal suo URL di origine. Se Urllib non è presente nel tuo sistema, puoi installarlo usando il comando pip install urllib.

2. Modulo Tempo

Questo modulo, sebbene non obbligatorio, potrebbe causare il fallimento della build se la tua connessione Internet è lenta o i contenuti della pagina web non vengono caricati durante il tempo di interazione del programma Python con il pagina web. La funzione delay() ci aiuta a mettere un piccolo ritardo in modo che la build non fallisca.

3. Modulo Selenio

Uno degli strumenti di automazione del browser open source più popolari è Selenium. È disponibile come pacchetto Python che supporta vari browser come Google Chrome, Microsoft Edge, Safari e Mozilla Firefox. Per installare Selenium nel tuo ambiente Python, apri il tuo terminale ed eseguirepip installa il selenio.

4. WebDriver

Un web driver è uno strumento utilizzato da Selenium che stabilisce una connessione tra il programma e qualsiasi sito web. Diversi tipi di driver web sono disponibili in base al browser che si desidera automatizzare. Per questa build, utilizzerai il browser Google Chrome. Per installare il driver web per Chrome:

  1. Verifica la versione del browser che stai utilizzando visitando il Menù (3 punti) >Aiuto > Informazioni su Google Chrome.
  2. Nota la versione del browser.
  3. Visita la pagina dei download di Driver Chrome - Driver Web per Chrome.
  4. Seleziona l'opzione che corrisponde al tuo numero di versione dalle versioni correnti di ChromeDriver.
  5. Scegli e scarica il file in base al tuo sistema operativo.
  6. Estrai il file scaricato e mettilo nella stessa cartella del tuo programma Python. Ciò sarà utile per impostare il percorso durante la codifica.

Come ispezionare il codice per automatizzare qualsiasi aspetto di una pagina Web

Per qualsiasi processo di automazione web che utilizzi Selenium e Python, è essenziale avere una conoscenza di base del web e delle sue tecnologie. Il primo passo è guadagnare un'introduzione all'HTML seguito da comprensione dei fogli di stile a cascata (CSS). È qui che acquisirai familiarità con il concetto di ID e classi.

Gli ID e le classi sono nomi univoci assegnati rispettivamente a un elemento o a un insieme di elementi (tag). Usandoli si individua l'elemento richiesto e si istruisce il programma Python a indirizzarlo in modo specifico. Per controllare il codice e individuare l'immagine del profilo:

  1. Apri la pagina web dell'account Instagram.
  2. Fare clic sul browser Menù > Altri strumenti > Strumenti di sviluppo o usa la scorciatoia Ctrl + Maiusc + I per attivare il Strumenti di sviluppo Visualizza.
  3. Fare clic e selezionare il Selezionatore di elementi strumento (icona del cursore del mouse) nell'angolo sinistro della finestra e passa con il mouse su qualsiasi parte della pagina Web per passare a quella sezione di codice.
  4. È importante notare che le immagini del profilo di un account pubblico e di un account privato sono impostate in modo diverso. Passa il cursore sulla foto del profilo di un account pubblico. L'attributo class per il profilo pubblico è _aa8j.
  5. Ripetere il passaggio precedente per un profilo privato. L'attributo di classe è _adp.

È possibile utilizzare questa procedura per comprendere qualsiasi pagina Web e indirizzare qualsiasi elemento per l'automazione.

Come creare il downloader di immagini del profilo di Instagram

Segui questi passaggi per creare il downloader.

  1. Importa i moduli richiesti nell'ambiente Python.
    da selenio importare webdriver
    importare volta
    importare urllib.richiesta
  2. Utilizzando la funzione di input, ottenere il nome utente del profilo di cui si desidera scaricare l'immagine del profilo e memorizzarlo in una variabile chiamata nome utente.
    #inserimento della username del profilo di cui si vuole scaricare l'immagine del profilo 
    nome utente=input("Inserisci il nome utente del profilo: ")
  3. Inizializzare il driver Web creando un oggetto di esso e passando il percorso del suo file system.
    #creazione di un oggetto di chromedriver 
    cd='chromedriver.exe'
  4. Utilizzare il webdriver. Cromo funzione per avviare il browser Google Chrome.
    #apri il browser Google Chrome 
    driver = webdriver. Cromo(CD)
  5. L'URL di qualsiasi account Instagram è del formato https://www.instagram.com/ seguito dal nome utente. Imposta l'URL del profilo come,
    #impostazione dell'URL
    URL='https://www.instagram.com/'
    url_p=url+utente_h
  6. Passa l'URL completo del profilo Instagram da visitare alla funzione get().
    #apri il profilo 
    autista.ottenere(url_p)
  7. Imposta un ritardo consigliato facoltativo per il caricamento completo della pagina Web.
    #ritardo per il caricamento del contenuto della pagina
    volta.dormire(5)
  8. Usa il blocco try-eccetto per individuare e determinare se l'immagine del profilo appartiene a un profilo pubblico. Questo viene fatto usando l'attributo class nell'espressione XPath. In caso di errore, utilizzare il blocco eccetto per cercare l'immagine del profilo di un account privato.
    Tentativo:
    #se il profilo è pubblico, cerca l'immagine con la classe _aa8j
    image=driver.find_element_by_xpath('//img[@class="_aa8j"]')
    tranne:
    #se il profilo è privato, cerca l'immagine con la classe _aadp
    image=driver.find_element_by_xpath('//img[@class="_adp"]')
  9. Usando get_attribute(), ottieni l'attributo src dell'immagine. Questo restituisce il collegamento dell'immagine.
    #memorizza il link per il download dell'immagine 
    img_link=image.get_attribute('src')
  10. Imposta il percorso e l'estensione del file scaricato. Ad esempio, puoi impostare l'immagine da scaricare sull'unità D: del tuo file system in formato JPG come.
    #imposta il percorso del file scaricato 
    percorso="D:\\"+nome utente+".jpg"
  11. Scarica l'immagine passando il collegamento dell'immagine del profilo come origine e il percorso della cartella di sistema locale come destinazione alla funzione urlretrieve().
    #download immagine nella destinazione richiesta
    urllib.richiesta.urlrecupera(img_link,sentiero)
  12. Visita la cartella e verifica che l'immagine del profilo è stata scaricata. Facoltativamente, puoi anche visualizzare il percorso in cui è stata scaricata l'immagine del profilo.
    #visualizzazione del percorso della foto del profilo scaricata 
    Stampa("La foto del profilo è stata scaricata su: "+percorso)

Codice sorgente finale per Instagram Profile Pic Downloader utilizzando Python

Riunendo il tutto si ottiene:

#importazione dei moduli richiesti
da selenio importare webdriver
importare volta
importare urllib.richiesta
#inserimento della username del profilo di cui si vuole scaricare l'immagine del profilo
utente_h=input("Inserisci il nome utente del profilo: ")
#impostazione dell'URL
URL='https://www.instagram.com/'
url_p=url+utente_h
#creazione oggetto di chromedriver
cd='chromedriver.exe'
#apri Google
driver = webdriver. Cromo(CD)
#apri il profilo
autista.ottenere(url_p)
#ritardo per il caricamento del contenuto della pagina
volta.dormire(5)
Tentativo:
#se il profilo è pubblico, cerca l'immagine con la classe _aa8j
image=driver.find_element_by_xpath('//img[@class="_aa8j"]')
tranne:
#se il profilo è privato, cerca l'immagine con la classe _aadp
image=driver.find_element_by_xpath('//img[@class="_adp"]')

#memorizza il link per il download dell'immagine
img_link=image.get_attribute('src')

Applicazioni della Web Automation

L'automazione non solo ti aiuta a risparmiare tempo, denaro e fatica, ma garantisce anche il completamento delle attività prevenendo errori. Usa questa tecnica per automatizzare l'accesso a diversi siti Web, eseguire il backup dei server cloud, pianificare messaggi, augurare compleanni su piattaforme di social media, creare post, pubblicare tweet e molto altro.