Profilbilledet er et af de vigtigste elementer i enhver social mediekonto, men applikationer som Instagram tillader dig ikke at se eller downloade det. Denne proces kan nemt opnås ved hjælp af et webautomatiseringsværktøj såsom Selenium med Python.

Lær at bruge denne kraftduo til at interagere med ethvert element på en webside, automatiser det og spar dig selv for uvurderlig tid på at investere i produktive opgaver. Og den bedste del? Byg dette uden selv at logge ind eller have en Instagram-konto.!

Algoritmeopbygningsprocessen

Algoritmebygning refererer til processen med at identificere problemet og liste de trin, programmet skal automatisere. De forskellige trin, der kræves for at downloade et profilbillede er:

  1. Tag brugernavnet på en profil som input
  2. Åbn Google Chrome
  3. Besøg Instagram-profilen
  4. Download profilbilledet

Dette tjener som algoritmen for problemformuleringen.

Dette projekt bruger følgende Python-moduler og værktøjer.

1. Urllib modul

Urllib er et Python-modul, der bruges til at håndtere URL'er fra internettet. Du vil bruge dette modul til at downloade profilbilledet af kontoen fra dens kilde-URL. Hvis Urllib ikke er til stede i dit system, kan du installere det ved hjælp af kommandoen

instagram viewer
pip installation urllib.

2. Tidsmodul

Selvom dette modul ikke er obligatorisk, kan det forårsage, at buildet mislykkes, hvis din internetforbindelse er langsom eller indholdet af websiden indlæses ikke i løbet af Python-programmets interaktion med hjemmeside. Delay()-funktionen hjælper os med at sætte en lille forsinkelse, så bygningen ikke fejler.

3. Selen modul

Et af de mest populære open source-browserautomatiseringsværktøjer er Selenium. Den er tilgængelig som en Python-pakke, der understøtter forskellige browsere såsom Google Chrome, Microsoft Edge, Safari og Mozilla Firefox. For at installere Selenium i dit Python-miljø skal du åbne din Terminal og udførepip installer selen.

4. WebDriver

En webdriver er et værktøj, der bruges af Selenium, og som etablerer en forbindelse mellem programmet og enhver hjemmeside. Forskellige typer web-drivere er tilgængelige baseret på den browser, du vil automatisere. Til denne build skal du bruge Google Chrome-browseren. Sådan installerer du webdriveren til Chrome:

  1. Tjek versionen af ​​den browser, du bruger, ved at besøge Menu (3 prikker) > hjælp > Om Google Chrome.
  2. Bemærk browserens version.
  3. Besøg downloadsiden af ChromeDriver - WebDriver til Chrome.
  4. Vælg den mulighed, der matcher dit versionsnummer fra de aktuelle udgivelser af ChromeDriver.
  5. Vælg og download filen i henhold til dit operativsystem.
  6. Udpak den downloadede fil og placer den i samme mappe som dit Python-program. Dette vil være nyttigt til at indstille stien under kodning.

Sådan inspiceres kode for at automatisere alle aspekter af en webside

For enhver webautomatiseringsproces, der bruger Selenium og Python, er det vigtigt at have en grundlæggende forståelse af nettet og dets teknologier. Det første skridt er at vinde en introduktion til HTML efterfulgt af forstå Cascading Style Sheets (CSS). Det er her, du vil blive fortrolig med begrebet id'er og klasser.

Id'er og klasser er unikke navne givet til henholdsvis et element eller et sæt af elementer (tags). Ved at bruge disse finder du det nødvendige element og instruerer Python-programmet til at målrette det specifikt. For at inspicere koden og finde profilbilledet:

  1. Åbn Instagram-kontoens webside.
  2. Klik på browseren Menu > Flere værktøjer > Udvikler værktøjer eller brug genvejen Ctrl + Shift + I for at aktivere Udvikler værktøjer udsigt.
  3. Klik og vælg Elementvælger værktøj (musemarkørikon) i venstre hjørne af vinduet, og hold det over en hvilken som helst del af websiden for at springe til den pågældende kodesektion.
  4. Det er vigtigt at bemærke, at profilbillederne af en offentlig konto og en privat konto er indstillet forskelligt. Hold markøren over profilbilledet på en offentlig konto. Klasseattributten for den offentlige profil er _aa8j.
  5. Gentag ovenstående trin for en privat profil. Klasseattributten er _aadp.

Du kan bruge denne procedure til at forstå enhver webside og målrette ethvert element til automatisering.

Sådan bygger du Instagram Profile Pic Downloader

Følg disse trin for at oprette downloaderen.

  1. Importer de nødvendige moduler til Python-miljøet.
    fra selen importere webdriver
    importere tid
    importere urllib.request
  2. Brug indtastningsfunktionen til at få brugernavnet på den profil, hvis profilbillede skal downloades, og gem det i en variabel kaldet brugernavn.
    #indtastning af brugernavnet på den profil, hvis profilbillede skal downloades 
    brugernavn=input("Indtast brugernavnet på profilen: ")
  3. Initialiser webdriveren ved at oprette et objekt af den og sende dens filsystemsti.
    #oprette et objekt af chromedriver 
    cd='chromedriver.exe'
  4. Brug webdriver. Chrome funktion for at starte Google Chrome-browseren.
    #åbn google chrome browser 
    driver = webdriver. Chrome(cd)
  5. URL'en på enhver Instagram-konto er af formatet https://www.instagram.com/ efterfulgt af brugernavnet. Indstil profilens URL som,
    #indstilling af url
    url='https://www.instagram.com/'
    url_p=url+bruger_h
  6. Send den komplette URL på Instagram-profilen, der skal besøges, til get()-funktionen.
    #åbn profilen 
    chauffør.få(url_p)
  7. Indstil en valgfri anbefalet forsinkelse for, at websiden indlæses fuldstændigt.
    #forsinkelse for indlæsning af sideindhold
    tid.søvn(5)
  8. Brug prøve-undtagen-blokken til at finde og bestemme, om profilbilledet tilhører en offentlig profil. Dette gøres ved at bruge klasseattributten i XPath-udtrykket. I tilfælde af fejl, brug undtagen-blokken til at søge i profilbilledet på en privat konto.
    prøve:
    #hvis profilen er offentlig, søg efter billede med klassen _aa8j
    image=driver.find_element_by_xpath('//img[@class="_aa8j"]')
    undtagen:
    #hvis profilen er privat, søg efter billede med klassen _aadp
    image=driver.find_element_by_xpath('//img[@class="_aadp"]')
  9. Brug get_attribute(), få ​​billedets src-attribut. Dette returnerer linket til billedet.
    #store download-linket til billedet 
    img_link=image.get_attribute('src')
  10. Indstil stien og udvidelsen af ​​den downloadede fil. For eksempel kan du indstille billedet til at blive downloadet til D:-drevet på dit filsystem i JPG-format som.
    #set stien til den downloadede fil 
    sti="D:\\"+brugernavn+".jpg"
  11. Download billedet ved at overføre linket til profilbilledet som kilden og den lokale systemmappesti som destination til urlretrieve()-funktionen.
    #downloading billede til den ønskede destination
    urllib.anmodning.urlhent(img_link,sti)
  12. Besøg mappen og se, at profilbilledet er blevet downloadet. Du kan eventuelt også få vist stien, hvor profilbilledet er blevet downloadet.
    #visning af stien til det downloadede profilbillede 
    Print("Profilbilledet er downloadet på: "+sti)

Endelig kildekode til Instagram Profile Pic Downloader ved hjælp af Python

Når du samler det hele, får du:

#importere de nødvendige moduler
fra selen importere webdriver
importere tid
importere urllib.request
#indtastning af brugernavnet på den profil, hvis profilbillede skal downloades
bruger_h=input("Indtast brugernavnet på profilen: ")
#indstilling af url
url='https://www.instagram.com/'
url_p=url+bruger_h
#creating object of chromedriver
cd='chromedriver.exe'
#åbn google
driver = webdriver. Chrome(cd)
#åbn profilen
chauffør.få(url_p)
#forsinkelse for indlæsning af sideindhold
tid.søvn(5)
prøve:
#hvis profilen er offentlig, søg efter billede med klassen _aa8j
image=driver.find_element_by_xpath('//img[@class="_aa8j"]')
undtagen:
#hvis profilen er privat, søg efter billede med klassen _aadp
image=driver.find_element_by_xpath('//img[@class="_aadp"]')

#store download-linket til billedet
img_link=image.get_attribute('src')

Anvendelser af webautomatisering

Automatisering hjælper dig ikke kun med at spare tid, penge og kræfter, men garanterer også fuldførelse af opgaver og forhindrer fejl. Brug denne teknik til at automatisere login på forskellige websteder, udføre backup af cloud-servere, planlægge beskeder, ønske fødselsdage på sociale medieplatforme, oprette indlæg, udgive tweets og mange flere.