A profilkép bármely közösségimédia-fiók egyik legfontosabb eleme, de az olyan alkalmazások, mint az Instagram, nem teszik lehetővé annak megtekintését vagy letöltését. Ez a folyamat könnyen megvalósítható webes automatizálási eszközzel, mint például a Selenium with Python.
Tanulja meg, hogyan használhatja ezt az erőpárost a weboldal bármely elemével való interakcióhoz, automatizálhatja azt, és felbecsülhetetlen értékű időt takaríthat meg a produktív feladatokba való befektetéssel. És a legjobb rész? Építsd meg ezt anélkül, hogy bejelentkezés vagy Instagram-fiókod lenne.!
Az algoritmusépítési folyamat
Az algoritmusépítés a probléma azonosításának és a programnak automatizálandó lépések felsorolásának folyamatára utal. A profilkép letöltéséhez szükséges különböző lépések a következők:
- Adja meg egy profil felhasználónevét
- Nyissa meg a Google Chrome-ot
- Látogassa meg az Instagram profilt
- Töltse le a profilképet
Ez szolgál a problémafelvetés algoritmusaként.
Ez a projekt a következő Python modulokat és eszközöket használja.
1. Urllib modul
Az Urllib egy Python-modul, amelyet az internetről származó URL-ek kezelésére használnak. Ezzel a modullal letöltheti a fiók profilképét a forrás URL-címéről. Ha az Urllib nincs jelen a rendszerében, a paranccsal telepítheti pip install urllib.
2. Idő modul
Ez a modul, bár nem kötelező, a build meghiúsulását okozhatja, ha az internetkapcsolat lassú vagy a weboldal tartalma nem töltődik be a Python program és a honlap. A delay() függvény segít nekünk egy kis késleltetést bevinni, hogy az összeállítás ne sikerüljön.
3. Szelén modul
Az egyik legnépszerűbb nyílt forráskódú böngésző automatizálási eszköz a Selenium. Python-csomagként érhető el, amely különféle böngészőket támogat, mint például a Google Chrome, a Microsoft Edge, a Safari és a Mozilla Firefox. A Selenium Python-környezetbe történő telepítéséhez nyissa meg a Terminál és végrehajtanipip install szelén.
4. WebDriver
A webillesztőprogram a Selenium által használt eszköz, amely kapcsolatot létesít a program és bármely webhely között. Különféle webes illesztőprogramok elérhetők az automatizálni kívánt böngészőtől függően. Ehhez a buildhez a Google Chrome böngészőt fogja használni. A web-illesztőprogram telepítése a Chrome-hoz:
- Ellenőrizze a használt böngésző verzióját a következő oldalon: Menü (3 pont) > Segítség > A Google Chrome-ról.
- Vegye figyelembe a böngésző verzióját.
- Látogassa meg a letöltési oldalt ChromeDriver – WebDriver Chrome-hoz.
- Válassza ki a verziószámának megfelelő lehetőséget a ChromeDriver jelenlegi kiadásai közül.
- Válassza ki és töltse le a fájlt az operációs rendszerének megfelelően.
- Bontsa ki a letöltött fájlt, és helyezze el ugyanabba a mappába, mint a Python program. Ez hasznos lesz az útvonal beállításánál a kódolás során.
Hogyan lehet ellenőrizni a kódot a weboldal bármely aspektusának automatizálásához
A Seleniumot és Pythont használó webautomatizálási folyamatokhoz elengedhetetlen a web és annak technológiáinak alapvető ismerete. Az első lépés a nyerés bevezetés a HTML-be követi a lépcsőzetes stíluslapok (CSS) megértése. Itt ismerkedhet meg az azonosítók és osztályok fogalmával.
Az azonosítók és osztályok egyedi nevek, amelyeket egy elemnek vagy elemkészletnek (címkéknek) adnak. Ezek segítségével megkeresheti a szükséges elemet, és utasítja a Python programot, hogy célozza meg. A kód ellenőrzéséhez és a profilkép megkereséséhez:
- Nyissa meg az Instagram-fiók weboldalát.
- Kattintson a böngészőre Menü > További eszközök > Fejlesztői eszközök vagy használja a parancsikont Ctrl + Shift + I aktiválásához a Fejlesztői eszközök Kilátás.
- Kattintson és válassza ki a Elemválasztó eszközt (egér kurzor ikon) az ablak bal sarkában, és vigye az egérmutatót a weboldal bármely része fölé, hogy az adott kódrészletre ugorjon.
- Fontos megjegyezni, hogy egy nyilvános és egy privát fiók profilképei eltérően vannak beállítva. Vigye a kurzort egy nyilvános fiók profilképe fölé. A nyilvános profil osztály attribútuma a következő _aa8j.
- Ismételje meg a fenti lépést privát profil esetén. Az osztály attribútuma az _aadp.
Ezzel az eljárással bármely weboldalt megérthet, és bármely elemet megcélozhat automatizálás céljából.
Hogyan készítsük el az Instagram-profilkép-letöltőt
Kövesse ezeket a lépéseket a letöltő létrehozásához.
- Importálja a szükséges modulokat a Python környezetbe.
tól től szelén import webdriver
import idő
import urllib.request - A beviteli funkció segítségével szerezze be annak a profilnak a felhasználónevét, amelynek profilképét letölteni szeretné, és tárolja azt egy username nevű változóban.
#beírja annak a profilnak a felhasználónevét, amelynek profilképét letölteni szeretné
username=input("Adja meg a profil felhasználónevét: ") - Inicializálja a web-illesztőprogramot egy objektum létrehozásával és a fájlrendszer elérési útjának átadásával.
#chromeddriver objektum létrehozása
cd='chromedriver.exe' - Használja a webdriver. Króm funkciót a Google Chrome böngésző elindításához.
#nyissa meg a Google Chrome böngészőt
driver = webdriver. Króm(CD) - Bármely Instagram-fiók URL-je a következő formátumú https://www.instagram.com/ ezt követi a felhasználónév. Állítsa be a profil URL-jét a következőképpen:
#az url beállítása
url='https://www.instagram.com/'
url_p=url+felhasználó_h - Adja át a meglátogatandó Instagram-profil teljes URL-jét a get() függvénynek.
#nyissa meg a profilt
sofőr.kap(url_p) - Állítson be egy opcionális ajánlott késleltetést a weboldal teljes betöltéséhez.
#késleltetés az oldaltartalom betöltésében
idő.alvás(5) - A try-except blokkal keresse meg és állapítsa meg, hogy a profilkép nyilvános profilhoz tartozik-e. Ez az XPath kifejezés osztály attribútumának használatával történik. Hiba esetén használja a Kivétel blokkot egy privát fiók profilképének kereséséhez.
próbálja meg:
#ha a profil nyilvános, keressen rá a _aa8j osztályú képre
image=driver.find_element_by_xpath('//img[@class="_aa8j"]')
kivéve:
#ha a profil privát, keressen rá a képre a _aadp osztállyal
image=driver.find_element_by_xpath('//img[@class="_aadp"]') - A get_attribute() segítségével szerezzük be a kép src attribútumait. Ez visszaadja a kép linkjét.
#tárolja a kép letöltési linkjét
img_link=image.get_attribute('src') - Állítsa be a letöltött fájl elérési útját és kiterjesztését. Például beállíthatja, hogy a kép letöltse a fájlrendszer D: meghajtójára JPG formátumban.
#állítsa be a letöltött fájl elérési útját
útvonal="D:\\"+felhasználónév+".jpg" - Töltse le a képet úgy, hogy a profilkép hivatkozását adja át forrásként, és a helyi rendszermappa elérési útját adja át az urlretrieve() függvénynek.
#kép letöltése a kívánt helyre
urllib.kérés.urlretrieve(img_link,pálya) - Látogassa meg a mappát, és ellenőrizze, hogy a profilkép letöltése megtörtént. Opcionálisan megjelenítheti a profilkép letöltési útvonalát is.
#a letöltött profilkép elérési útjának megjelenítése
nyomtatás("A profilkép letöltve innen: "+útvonal)
A Python használatával készült Instagram-profilkép-letöltő végső forráskódja
Mindezt összeadva a következőket kapod:
#a szükséges modulok importálása
tól től szelén import webdriver
import idő
import urllib.request
#beírja annak a profilnak a felhasználónevét, amelynek profilképét letölteni szeretné
user_h=input("Adja meg a profil felhasználónevét: ")
#az url beállítása
url='https://www.instagram.com/'
url_p=url+felhasználó_h
#chromeddriver objektum létrehozása
cd='chromedriver.exe'
#nyissa meg a google-t
driver = webdriver. Króm(CD)
#nyissa meg a profilt
sofőr.kap(url_p)
#késleltetés az oldaltartalom betöltésében
idő.alvás(5)
próbálja meg:
#ha a profil nyilvános, keressen rá a _aa8j osztályú képre
image=driver.find_element_by_xpath('//img[@class="_aa8j"]')
kivéve:
#ha a profil privát, keressen rá a képre a _aadp osztállyal
image=driver.find_element_by_xpath('//img[@class="_aadp"]')
#tárolja a kép letöltési linkjét
img_link=image.get_attribute('src')
A webautomatizálás alkalmazásai
Az automatizálás nemcsak időt, pénzt és erőfeszítést takarít meg, hanem garantálja a feladatok elvégzését, miközben megelőzi a hibákat. Ezzel a technikával automatizálhatja a különböző webhelyek bejelentkezését, biztonsági mentést készíthet a felhőszerverekről, ütemezhet üzeneteket, születésnapot kívánhat a közösségi média platformokon, bejegyzéseket hozhat létre, tweeteket tehet közzé és még sok mást.