Profilbilden är en av de viktigaste delarna av alla sociala mediekonton, men applikationer som Instagram tillåter dig inte att se eller ladda ner den. Denna process kan enkelt uppnås med hjälp av ett webbautomatiseringsverktyg som Selenium med Python.
Lär dig att använda den här kraftduon för att interagera med alla delar av en webbsida, automatisera den och spara dig själv ovärderlig tid genom att investera i produktiva uppgifter. Och den bästa delen? Bygg detta utan att ens logga in eller ha ett Instagram-konto.!
Algoritmbyggnadsprocessen
Algoritmbyggande hänvisar till processen att identifiera problemet och lista de steg som programmet behöver för att automatisera. De olika stegen som krävs för att ladda ner en profilbild är:
- Ta användarnamnet för en profil som indata
- Öppna Google Chrome
- Besök Instagram-profilen
- Ladda ner profilbilden
Detta fungerar som algoritmen för problemformuleringen.
Detta projekt använder följande Python-moduler och verktyg.
1. Urllib-modul
Urllib är en Python-modul som används för att hantera webbadresser från internet. Du kommer att använda den här modulen för att ladda ner profilbilden för kontot från dess käll-URL. Om Urllib inte finns i ditt system kan du installera det med kommandot
pip installera urllib.2. Tidsmodul
Denna modul, även om den inte är obligatorisk, kan göra att konstruktionen misslyckas om din internetanslutning är långsam eller innehållet på webbsidan laddas inte under tiden för Python-programmets interaktion med webbsida. Funktionen delay() hjälper oss att lägga en liten fördröjning så att bygget inte misslyckas.
3. Selenmodul
Ett av de mest populära verktygen för automatisering av webbläsare med öppen källkod är Selenium. Det är tillgängligt som ett Python-paket som stöder olika webbläsare som Google Chrome, Microsoft Edge, Safari och Mozilla Firefox. För att installera Selenium i din Python-miljö, öppna din Terminal och verkställapip installera selen.
4. WebDriver
En webbdrivrutin är ett verktyg som används av Selenium och som upprättar en koppling mellan programmet och vilken webbplats som helst. Olika typer av webbdrivrutiner är tillgängliga baserat på webbläsaren du vill automatisera. För denna konstruktion kommer du att använda webbläsaren Google Chrome. Så här installerar du webbdrivrutinen för Chrome:
- Kontrollera vilken version av webbläsaren du använder genom att besöka Meny (3 punkter) > Hjälp > Om Google Chrome.
- Notera webbläsarens version.
- Besök nedladdningssidan för ChromeDriver - WebDriver för Chrome.
- Välj det alternativ som matchar ditt versionsnummer från de aktuella versionerna av ChromeDriver.
- Välj och ladda ner filen enligt ditt operativsystem.
- Extrahera den nedladdade filen och placera den i samma mapp som ditt Python-program. Detta kommer att vara till hjälp för att ställa in sökvägen under kodning.
Hur man inspekterar kod för att automatisera alla aspekter av en webbsida
För alla webbautomatiseringsprocesser som använder Selenium och Python är det viktigt att ha en grundläggande förståelse för webben och dess teknologier. Det första steget är att vinna en introduktion till HTML följd av förstå Cascading Style Sheets (CSS). Det är här du kommer att bekanta dig med begreppet ID och klasser.
Id och klasser är unika namn som ges till ett element eller en uppsättning element (taggar). Med hjälp av dessa hittar du det nödvändiga elementet och instruerar Python-programmet att rikta in det specifikt. Så här inspekterar du koden och hittar profilbilden:
- Öppna webbsidan för Instagram-kontot.
- Klicka på webbläsaren Meny > Fler verktyg > Utvecklarverktyg eller använd genvägen Ctrl + Shift + I för att aktivera Utvecklarverktyg se.
- Klicka och välj Elementväljare verktyget (musmarkörikonen) i fönstrets vänstra hörn och håll det över någon del av webbsidan för att hoppa till den koddelen.
- Det är viktigt att notera att profilbilderna för ett offentligt konto och ett privat konto är olika inställda. Håll muspekaren över profilbilden för ett offentligt konto. Klassattributet för den offentliga profilen är _aa8j.
- Upprepa steget ovan för en privat profil. Klassattributet är _aadp.
Du kan använda den här proceduren för att förstå vilken webbsida som helst och rikta in sig på alla element för automatisering.
Hur man bygger Instagram Profile Pic Downloader
Följ dessa steg för att skapa nedladdningsprogrammet.
- Importera de nödvändiga modulerna till Python-miljön.
från selen importera webbdrivrutin
importera tid
importera urllib.request - Använd inmatningsfunktionen för att få användarnamnet för profilen vars profilbild ska laddas ner och lagra den i en variabel som kallas användarnamn.
#ange användarnamnet för profilen vars profilbild ska laddas ner
användarnamn=ingång("Ange användarnamnet för profilen: ") - Initiera webbdrivrutinen genom att skapa ett objekt av den och skicka dess sökväg till filsystemet.
#skapa ett objekt av chromedriver
cd='chromedriver.exe' - Använd webbdrivrutin. Krom funktion för att starta webbläsaren Google Chrome.
#öppna webbläsaren Google chrome
drivrutin = webbdrivrutin. Krom(CD) - Webbadressen till alla Instagram-konton är av formatet https://www.instagram.com/ följt av användarnamnet. Ställ in webbadressen till profilen som,
#ställa in webbadressen
url='https://www.instagram.com/'
url_p=url+user_h - Skicka hela webbadressen till Instagram-profilen som ska besökas till get()-funktionen.
#öppna profilen
förare.skaffa sig(url_p) - Ställ in en valfri rekommenderad fördröjning för webbsidan att laddas helt.
#delay för inläsning av sidinnehåll
tid.sova(5) - Använd försök-utom-blocket för att hitta och avgöra om profilbilden tillhör en offentlig profil. Detta görs genom att använda class-attributet i XPath-uttrycket. I händelse av misslyckande, använd undantagsblocket för att söka i profilbilden för ett privat konto.
Prova:
#om profilen är offentlig, sök efter bild med klassen _aa8j
image=driver.find_element_by_xpath('//img[@class="_aa8j"]')
bortsett från:
#om profilen är privat, sök efter bild med klassen _aadp
image=driver.find_element_by_xpath('//img[@class="_aadp"]') - Använd get_attribute(), skaffa bildens src-attribut. Detta returnerar länken till bilden.
#lagra nedladdningslänken till bilden
img_link=image.get_attribute('src') - Ställ in sökvägen och förlängningen för den nedladdade filen. Du kan till exempel ställa in att bilden ska laddas ner till D:-enheten i ditt filsystem i JPG-format som.
#set sökväg till den nedladdade filen
sökväg="D:\\"+användarnamn+".jpg" - Ladda ner bilden genom att skicka länken till profilbilden som källa och den lokala systemmappens sökväg som destination till urlretrieve()-funktionen.
#nedladdning av bild till önskad destination
urllib.begäran.urlhämta(img_link,väg) - Besök mappen och se att profilbilden har laddats ner. Alternativt kan du också visa sökvägen dit profilbilden har laddats ner.
#visar sökvägen till den nedladdade profilbilden
skriva ut("Profilbilden har laddats ner på: "+sökväg)
Slutlig källkod för Instagram Profile Pic Downloader med Python
När du samlar allt får du:
#importera de nödvändiga modulerna
från selen importera webbdrivrutin
importera tid
importera urllib.request
#ange användarnamnet för profilen vars profilbild ska laddas ner
user_h=input("Ange användarnamnet för profilen: ")
#ställa in webbadressen
url='https://www.instagram.com/'
url_p=url+user_h
#skapande objekt för chromedriver
cd='chromedriver.exe'
#öppna google
drivrutin = webbdrivrutin. Krom(CD)
#öppna profilen
förare.skaffa sig(url_p)
#delay för inläsning av sidinnehåll
tid.sova(5)
Prova:
#om profilen är offentlig, sök efter bild med klassen _aa8j
image=driver.find_element_by_xpath('//img[@class="_aa8j"]')
bortsett från:
#om profilen är privat, sök efter bild med klassen _aadp
image=driver.find_element_by_xpath('//img[@class="_aadp"]')
#lagra nedladdningslänken till bilden
img_link=image.get_attribute('src')
Tillämpningar av webbautomatisering
Automatisering hjälper dig inte bara att spara tid, pengar och ansträngning utan garanterar också att uppgifter slutförs samtidigt som fel förebyggs. Använd den här tekniken för att automatisera inloggningen av olika webbplatser, utföra säkerhetskopiering av molnservrar, schemalägga meddelanden, önska födelsedagar på sociala medieplattformar, skapa inlägg, publicera tweets och många fler.