Profilbildet er et av hovedelementene i enhver konto på sosiale medier, men applikasjoner som Instagram lar deg ikke se eller laste det ned. Denne prosessen kan enkelt oppnås ved hjelp av et webautomatiseringsverktøy som Selenium med Python.

Lær å bruke denne kraftduoen til å samhandle med et hvilket som helst element på en nettside, automatiser den og spar deg selv for uvurderlig tid på å investere i produktive oppgaver. Og den beste delen? Bygg dette uten engang å logge på eller ha en Instagram-konto.!

Algoritmebyggingsprosessen

Algoritmebygging refererer til prosessen med å identifisere problemet og liste opp trinnene programmet trenger for å automatisere. De forskjellige trinnene som kreves for å laste ned et profilbilde er:

  1. Ta brukernavnet til en profil som input
  2. Åpne Google Chrome
  3. Besøk Instagram-profilen
  4. Last ned profilbildet

Dette fungerer som algoritmen for problemformuleringen.

Dette prosjektet bruker følgende Python-moduler og verktøy.

1. Urllib-modul

Urllib er en Python-modul som brukes til å håndtere URL-er fra internett. Du skal bruke denne modulen til å laste ned profilbildet til kontoen fra dens kilde-URL. Hvis Urllib ikke er til stede i systemet ditt, kan du installere det ved å bruke kommandoen

instagram viewer
pip installer urllib.

2. Tidsmodul

Denne modulen, selv om den ikke er obligatorisk, kan føre til at byggingen mislykkes hvis Internett-tilkoblingen din er treg eller innholdet på nettsiden lastes ikke inn under tiden for Python-programmets interaksjon med nettside. Delay()-funksjonen hjelper oss å sette en liten forsinkelse slik at byggingen ikke mislykkes.

3. Selen modul

Et av de mest populære verktøyene for automatisering av nettleser med åpen kildekode er Selenium. Den er tilgjengelig som en Python-pakke som støtter ulike nettlesere som Google Chrome, Microsoft Edge, Safari og Mozilla Firefox. For å installere Selenium i Python-miljøet, åpne din Terminal og utførepip installere selen.

4. WebDriver

En nettdriver er et verktøy som brukes av Selenium som etablerer en forbindelse mellom programmet og et hvilket som helst nettsted. Ulike typer nettdrivere er tilgjengelige basert på nettleseren du ønsker å automatisere. For denne konstruksjonen skal du bruke nettleseren Google Chrome. Slik installerer du nettdriveren for Chrome:

  1. Sjekk versjonen av nettleseren du bruker ved å gå til Meny (3 prikker) > hjelp > Om Google Chrome.
  2. Legg merke til versjonen av nettleseren.
  3. Besøk nedlastingssiden til ChromeDriver - WebDriver for Chrome.
  4. Velg alternativet som samsvarer med versjonsnummeret ditt fra de gjeldende versjonene av ChromeDriver.
  5. Velg og last ned filen i henhold til operativsystemet ditt.
  6. Pakk ut den nedlastede filen og plasser den i samme mappe som Python-programmet. Dette vil være nyttig for å angi banen under koding.

Hvordan inspisere kode for å automatisere alle aspekter av en nettside

For enhver webautomatiseringsprosess som bruker Selenium og Python, er det viktig å ha en grunnleggende forståelse av nettet og dets teknologier. Det første trinnet er å vinne en introduksjon til HTML etterfulgt av forstå Cascading Style Sheets (CSS). Det er her du vil bli kjent med konseptet med IDer og klasser.

Id-er og klasser er unike navn gitt til henholdsvis et element eller sett med elementer (tags). Ved å bruke disse finner du det nødvendige elementet og instruerer Python-programmet til å målrette det spesifikt. For å inspisere koden og finne profilbildet:

  1. Åpne nettsiden til Instagram-kontoen.
  2. Klikk på nettleseren Meny > Flere verktøy > Utviklerverktøy eller bruk snarveien Ctrl + Shift + I for å aktivere Utviklerverktøy utsikt.
  3. Klikk og velg Elementvelger verktøy (musepekerikon) i venstre hjørne av vinduet og hold det over en hvilken som helst del av nettsiden for å hoppe til den delen av koden.
  4. Det er viktig å merke seg at profilbildene til en offentlig konto og en privat konto er satt forskjellig. Hold markøren over profilbildet til en offentlig konto. Klasseattributtet for den offentlige profilen er _aa8j.
  5. Gjenta trinnet ovenfor for en privat profil. Klasseattributtet er _aadp.

Du kan bruke denne prosedyren til å forstå hvilken som helst nettside og målrette ethvert element for automatisering.

Hvordan bygge Instagram Profile Pic Downloader

Følg disse trinnene for å opprette nedlasteren.

  1. Importer de nødvendige modulene til Python-miljøet.
    fra selen import webdriver
    import tid
    import urllib.request
  2. Ved å bruke input-funksjonen får du brukernavnet til profilen hvis profilbilde skal lastes ned, og lagre det i en variabel kalt brukernavn.
    #skriver inn brukernavnet til profilen hvis profilbilde skal lastes ned 
    brukernavn=input("Skriv inn brukernavnet til profilen: ")
  3. Initialiser webdriveren ved å lage et objekt av den og sende filsystembanen.
    #opprette et objekt av chromedriver 
    cd='chromedriver.exe'
  4. Bruke webdriver. Chrome funksjon for å starte Google Chrome-nettleseren.
    #åpne google chrome-nettleseren 
    driver = webdriver. Chrome(cd)
  5. URL-en til enhver Instagram-konto er av formatet https://www.instagram.com/ etterfulgt av brukernavnet. Angi URL-en til profilen som,
    #setting av url
    url='https://www.instagram.com/'
    url_p=url+user_h
  6. Send den fullstendige URL-en til Instagram-profilen som skal besøkes til get()-funksjonen.
    #åpne profilen 
    sjåfør.få(url_p)
  7. Angi en valgfri anbefalt forsinkelse for at nettsiden skal lastes helt inn.
    #delay for innlasting av sideinnhold
    tid.sove(5)
  8. Bruk prøve-unntatt-blokken for å finne og finne ut om profilbildet tilhører en offentlig profil. Dette gjøres ved å bruke klasseattributtet i XPath-uttrykket. I tilfelle feil, bruk unntaksblokken for å søke i profilbildet til en privat konto.
    prøve:
    #hvis profilen er offentlig, søk etter bilde med klassen _aa8j
    image=driver.find_element_by_xpath('//img[@class="_aa8j"]')
    unntatt:
    #hvis profilen er privat, søk etter bilde med klassen _aadp
    image=driver.find_element_by_xpath('//img[@class="_aadp"]')
  9. Bruk get_attribute(), få ​​src-attributtet til bildet. Dette returnerer lenken til bildet.
    #lagre nedlastingslenken til bildet 
    img_link=image.get_attribute('src')
  10. Angi banen og utvidelsen til den nedlastede filen. Du kan for eksempel angi at bildet skal lastes ned til D:-stasjonen til filsystemet i JPG-format som.
    #sett banen til den nedlastede filen 
    sti="D:\\"+brukernavn+".jpg"
  11. Last ned bildet ved å sende koblingen til profilbildet som kilde og den lokale systemmappebanen som destinasjon til urlretrieve()-funksjonen.
    #laster ned bildet til ønsket destinasjon
    urllib.be om.urlhente(img_link,sti)
  12. Besøk mappen og se at profilbildet er lastet ned. Eventuelt kan du også vise banen der profilbildet er lastet ned.
    #viser banen til profilbildet som er lastet ned 
    skrive ut("Profilbildet er lastet ned på: "+bane)

Endelig kildekode for Instagram Profile Pic Downloader ved hjelp av Python

Ved å samle det hele får du:

#importere de nødvendige modulene
fra selen import webdriver
import tid
import urllib.request
#skriver inn brukernavnet til profilen hvis profilbilde skal lastes ned
user_h=input("Skriv inn brukernavnet til profilen: ")
#setting av url
url='https://www.instagram.com/'
url_p=url+user_h
#skapende objekt for chromedriver
cd='chromedriver.exe'
#åpne google
driver = webdriver. Chrome(cd)
#åpne profilen
sjåfør.få(url_p)
#delay for innlasting av sideinnhold
tid.sove(5)
prøve:
#hvis profilen er offentlig, søk etter bilde med klassen _aa8j
image=driver.find_element_by_xpath('//img[@class="_aa8j"]')
unntatt:
#hvis profilen er privat, søk etter bilde med klassen _aadp
image=driver.find_element_by_xpath('//img[@class="_aadp"]')

#lagre nedlastingslenken til bildet
img_link=image.get_attribute('src')

Applikasjoner av webautomatisering

Automatisering hjelper deg ikke bare med å spare tid, penger og krefter, men garanterer også fullføring av oppgaver samtidig som det forhindrer feil. Bruk denne teknikken til å automatisere påloggingen av forskjellige nettsteder, utføre sikkerhetskopiering av skyservere, planlegge meldinger, ønske bursdager på sosiale medieplattformer, lage innlegg, publisere tweets og mange flere.