Profilový obrázek je jedním z hlavních prvků jakéhokoli účtu na sociálních sítích, ale aplikace, jako je Instagram, vám jej neumožňují zobrazit ani stáhnout. Tohoto procesu lze snadno dosáhnout pomocí nástroje pro automatizaci webu, jako je Selenium s Pythonem.

Naučte se používat toto výkonné duo k interakci s jakýmkoli prvkem webové stránky, automatizaci a ušetření neocenitelného času investování do produktivních úkolů. A nejlepší část? Sestavte si to, aniž byste se museli přihlašovat nebo mít účet na Instagramu.!

Proces vytváření algoritmu

Vytváření algoritmů se týká procesu identifikace problému a seznamu kroků, které program potřebuje k automatizaci. Různé kroky potřebné ke stažení profilového obrázku jsou:

  1. Jako vstup použijte uživatelské jméno profilu
  2. Otevřete Google Chrome
  3. Navštivte instagramový profil
  4. Stáhněte si profilový obrázek

To slouží jako algoritmus zadání problému.

Tento projekt používá následující moduly a nástroje Pythonu.

1. Modul Urllib

Urllib je modul Pythonu používaný ke zpracování URL z internetu. Tento modul se chystáte použít ke stažení profilového obrázku účtu z jeho zdrojové adresy URL. Pokud Urllib není ve vašem systému přítomen, můžete jej nainstalovat pomocí příkazu

instagram viewer
pip install urllib.

2. Časový modul

Tento modul, i když není povinný, může způsobit selhání sestavení, pokud je vaše internetové připojení pomalé nebo obsah webové stránky není načten během interakce programu Python s webová stránka. Funkce delay() nám pomáhá dát malé zpoždění, aby sestavení neselhalo.

3. Selenový modul

Jedním z nejpopulárnějších nástrojů pro automatizaci prohlížeče s otevřeným zdrojovým kódem je Selenium. Je k dispozici jako balíček Python podporující různé prohlížeče, jako je Google Chrome, Microsoft Edge, Safari a Mozilla Firefox. Chcete-li nainstalovat Selenium do prostředí Pythonu, otevřete svůj Terminál a provéstpip install selen.

4. WebDriver

Webový ovladač je nástroj používaný společností Selenium, který vytváří spojení mezi programem a jakoukoli webovou stránkou. Různé druhy webových ovladačů jsou k dispozici na základě prohlížeče, který chcete automatizovat. Pro toto sestavení budete používat prohlížeč Google Chrome. Instalace webového ovladače pro Chrome:

  1. Zkontrolujte verzi prohlížeče, který používáte, na stránce Jídelní lístek (3 tečky) > Nápověda > O Google Chrome.
  2. Všimněte si verze prohlížeče.
  3. Navštivte stránku ke stažení ChromeDriver – WebDriver pro Chrome.
  4. Vyberte možnost, která odpovídá vašemu číslu verze z aktuálních verzí ChromeDriver.
  5. Vyberte a stáhněte soubor podle vašeho operačního systému.
  6. Rozbalte stažený soubor a umístěte jej do stejné složky jako váš program Python. To bude užitečné při nastavování cesty během kódování.

Jak zkontrolovat kód pro automatizaci jakéhokoli aspektu webové stránky

Pro jakýkoli proces automatizace webu využívající Selenium a Python je nezbytné mít základní znalosti o webu a jeho technologiích. Prvním krokem je získat úvod do HTML následován pochopení kaskádových stylů (CSS). Zde se seznámíte s konceptem id a tříd.

ID a třídy jsou jedinečné názvy dané prvku nebo sadě prvků (tagů). Pomocí nich vyhledejte požadovaný prvek a instruujete program Python, aby na něj konkrétně zamířil. Chcete-li zkontrolovat kód a najít profilový obrázek:

  1. Otevřete webovou stránku účtu Instagram.
  2. Klikněte na prohlížeč Jídelní lístek > Více nástrojů > Vývojářské nástroje nebo použijte zkratku Ctrl + Shift + I k aktivaci Vývojářské nástroje Pohled.
  3. Klikněte a vyberte Výběr prvku (ikona kurzoru myši) v levém rohu okna a umístěte jej na kteroukoli část webové stránky, abyste přeskočili na danou sekci kódu.
  4. Je důležité si uvědomit, že profilové obrázky veřejného účtu a soukromého účtu jsou nastaveny odlišně. Najeďte kurzorem na profilový obrázek veřejného účtu. Atribut třídy pro veřejný profil je _aa8j.
  5. Opakujte výše uvedený krok pro soukromý profil. Atribut třídy je _aadp.

Tento postup můžete použít k pochopení jakékoli webové stránky a cílení na jakýkoli prvek pro automatizaci.

Jak vytvořit aplikaci pro stahování obrázků profilu Instagram

Chcete-li vytvořit stahovací program, postupujte podle těchto kroků.

  1. Importujte požadované moduly do prostředí Pythonu.
    z selen import webový ovladač
    import čas
    import urllib.request
  2. Pomocí vstupní funkce získejte uživatelské jméno profilu, jehož profilový obrázek se má stáhnout, a uložte jej do proměnné uživatelské jméno.
    #zadání uživatelského jména profilu, jehož profilový obrázek se má stáhnout 
    uživatelské jméno=vstup("Zadejte uživatelské jméno profilu: ")
  3. Inicializujte webový ovladač vytvořením jeho objektu a předáním jeho cesty k systému souborů.
    #vytvoření objektu chromedriveru 
    cd='chromedriver.exe'
  4. Použijte webový ovladač. Chrome funkce pro spuštění prohlížeče Google Chrome.
    #otevřete prohlížeč google chrome 
    řidič = webovladač. Chrome(CD)
  5. Adresa URL jakéhokoli účtu Instagram má formát https://www.instagram.com/ následuje uživatelské jméno. Nastavte adresu URL profilu jako,
    #nastavení adresy URL
    url='https://www.instagram.com/'
    url_p=url+user_h
  6. Předejte funkci get() úplnou adresu URL profilu Instagramu, který chcete navštívit.
    #otevřít profil 
    Řidič.dostat(url_p)
  7. Nastavte volitelnou doporučenou prodlevu pro úplné načtení webové stránky.
    #delay pro načítání obsahu stránky
    čas.spát(5)
  8. Pomocí bloku try-except vyhledejte a určete, zda profilový obrázek patří k veřejnému profilu. To se provádí pomocí atributu třídy ve výrazu XPath. V případě selhání použijte blok kromě k vyhledání profilového obrázku soukromého účtu.
    Snaž se:
    #pokud je profil veřejný, vyhledejte obrázek pomocí třídy _aa8j
    image=driver.find_element_by_xpath('//img[@class="_aa8j"]')
    až na:
    #pokud je profil soukromý, vyhledejte obrázek pomocí třídy _aadp
    image=driver.find_element_by_xpath('//img[@class="_aadp"]')
  9. Pomocí get_attribute() získejte atribut src obrázku. Tím se vrátí odkaz na obrázek.
    #uložte odkaz ke stažení obrázku 
    img_link=image.get_attribute('src')
  10. Nastavte cestu a příponu staženého souboru. Můžete například nastavit stahování obrázku na disk D: vašeho souborového systému ve formátu JPG jako.
    #nastavit cestu ke staženému souboru 
    cesta="D:\\"+uživatelské jméno+".jpg"
  11. Stáhněte si obrázek předáním odkazu na profilový obrázek jako zdroj a cestu místní systémové složky jako cíl funkci urlretrieve().
    #stažení obrázku do požadovaného cíle
    urllib.žádost.urlretrieve(img_link,cesta)
  12. Přejděte do složky a zjistěte, že profilový obrázek byl stažen. Volitelně můžete také zobrazit cestu, kam byl profilový obrázek stažen.
    #zobrazení cesty ke staženému profilovému obrázku 
    tisk("Profilový obrázek byl stažen na: "+cesta)

Konečný zdrojový kód pro stahování obrázků profilu Instagram pomocí Pythonu

Když to všechno dáte dohromady, získáte:

#import požadovaných modulů
z selen import webový ovladač
import čas
import urllib.request
#zadání uživatelského jména profilu, jehož profilový obrázek se má stáhnout
user_h=vstup("Zadejte uživatelské jméno profilu: ")
#nastavení adresy URL
url='https://www.instagram.com/'
url_p=url+user_h
#vytvoření objektu chromedriveru
cd='chromedriver.exe'
#otevři google
řidič = webovladač. Chrome(CD)
#otevřít profil
Řidič.dostat(url_p)
#delay pro načítání obsahu stránky
čas.spát(5)
Snaž se:
#pokud je profil veřejný, vyhledejte obrázek pomocí třídy _aa8j
image=driver.find_element_by_xpath('//img[@class="_aa8j"]')
až na:
#pokud je profil soukromý, vyhledejte obrázek pomocí třídy _aadp
image=driver.find_element_by_xpath('//img[@class="_aadp"]')

#uložte odkaz ke stažení obrázku
img_link=image.get_attribute('src')

Aplikace Web Automation

Automatizace vám nejen pomáhá ušetřit čas, peníze a úsilí, ale také zaručuje dokončení úkolů a zároveň předchází chybám. Pomocí této techniky můžete automatizovat přihlašování různých webů, zálohovat cloudové servery, plánovat zprávy, přát si narozeniny na platformách sociálních médií, vytvářet příspěvky, publikovat tweety a mnoho dalšího.