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:

  1. Adja meg egy profil felhasználónevét
  2. Nyissa meg a Google Chrome-ot
  3. Látogassa meg az Instagram profilt
  4. 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.

instagram viewer

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:

  1. 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.
  2. Vegye figyelembe a böngésző verzióját.
  3. Látogassa meg a letöltési oldalt ChromeDriver – WebDriver Chrome-hoz.
  4. Válassza ki a verziószámának megfelelő lehetőséget a ChromeDriver jelenlegi kiadásai közül.
  5. Válassza ki és töltse le a fájlt az operációs rendszerének megfelelően.
  6. 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:

  1. Nyissa meg az Instagram-fiók weboldalát.
  2. 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.
  3. 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.
  4. 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.
  5. 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.

  1. Importálja a szükséges modulokat a Python környezetbe.
    tól től szelén import webdriver
    import idő
    import urllib.request
  2. 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: ")
  3. 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'
  4. 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)
  5. 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
  6. 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)
  7. Á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)
  8. 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"]')
  9. 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')
  10. Á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"
  11. 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)
  12. 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.