Profilový obrázok je jedným z hlavných prvkov akéhokoľvek účtu sociálnych médií, ale aplikácie ako Instagram vám ho neumožňujú zobraziť ani stiahnuť. Tento proces možno ľahko dosiahnuť pomocou nástroja na automatizáciu webu, ako je Selenium s Pythonom.

Naučte sa používať toto výkonné duo na interakciu s akýmkoľvek prvkom webovej stránky, automatizáciu a šetrenie neoceniteľného času investovania do produktívnych úloh. A najlepšia časť? Vytvorte si to bez toho, aby ste sa prihlásili alebo mali účet Instagram.!

Proces budovania algoritmu

Budovanie algoritmu sa týka procesu identifikácie problému a zoznamu krokov, ktoré program potrebuje na automatizáciu. Na stiahnutie profilového obrázka sú potrebné tieto rôzne kroky:

  1. Ako vstup použite používateľské meno profilu
  2. Otvorte Google Chrome
  3. Navštívte profil na Instagrame
  4. Stiahnite si profilový obrázok

Toto slúži ako algoritmus príkazu na problém.

Tento projekt používa nasledujúce moduly a nástroje Pythonu.

1. Modul Urllib

Urllib je modul Pythonu, ktorý sa používa na spracovanie adries URL z internetu. Tento modul sa chystáte použiť na stiahnutie profilového obrázka účtu z jeho zdrojovej adresy URL. Ak Urllib nie je prítomný vo vašom systéme, môžete ho nainštalovať pomocou príkazu

instagram viewer
pip install urllib.

2. Časový modul

Tento modul, aj keď nie je povinný, môže spôsobiť zlyhanie zostavy, ak je vaše internetové pripojenie pomalé alebo obsah webovej stránky sa nenačíta počas interakcie programu Python s webstránka. Funkcia delay() nám pomáha dať malé oneskorenie, aby zostavenie nezlyhalo.

3. Selénový modul

Jedným z najpopulárnejších nástrojov na automatizáciu prehliadača s otvoreným zdrojom je Selenium. Je k dispozícii ako balík Python podporujúci rôzne prehliadače, ako sú Google Chrome, Microsoft Edge, Safari a Mozilla Firefox. Ak chcete nainštalovať Selenium vo svojom prostredí Python, otvorte svoj Terminál a vykonaťpip inštalovať selén.

4. WebDriver

Webový ovládač je nástroj používaný spoločnosťou Selenium, ktorý vytvára spojenie medzi programom a akoukoľvek webovou stránkou. Rôzne druhy webových ovládačov sú dostupné na základe prehliadača, ktorý chcete automatizovať. Pre túto zostavu budete používať prehliadač Google Chrome. Inštalácia webového ovládača pre Chrome:

  1. Verziu prehliadača, ktorý používate, skontrolujte na stránke Ponuka (3 bodky) >Pomoc > O prehliadači Google Chrome.
  2. Všimnite si verziu prehliadača.
  3. Navštívte stránku na stiahnutie ChromeDriver – WebDriver pre Chrome.
  4. Vyberte možnosť, ktorá sa zhoduje s číslom vašej verzie z aktuálnych vydaní aplikácie ChromeDriver.
  5. Vyberte a stiahnite súbor podľa vášho operačného systému.
  6. Rozbaľte stiahnutý súbor a umiestnite ho do rovnakého priečinka ako váš program Python. To bude užitočné pri nastavovaní cesty počas kódovania.

Ako skontrolovať kód na automatizáciu akéhokoľvek aspektu webovej stránky

Pre akýkoľvek proces automatizácie webu, ktorý používa Selenium a Python, je nevyhnutné mať základné znalosti o webe a jeho technológiách. Prvým krokom je získať úvod do HTML nasledovaný pochopenie kaskádových štýlov (CSS). Tu sa zoznámite s konceptom ID a tried.

Id a triedy sú jedinečné názvy priradené prvku alebo skupine prvkov (tagov). Pomocou nich nájdete požadovaný prvok a prikážete programu Python, aby sa naň konkrétne zameral. Ak chcete skontrolovať kód a nájsť profilový obrázok:

  1. Otvorte webovú stránku účtu Instagram.
  2. Kliknite na prehliadač Ponuka > Ďalšie nástroje > Nástroje pre vývojárov alebo použite skratku Ctrl + Shift + I na aktiváciu Nástroje pre vývojárov vyhliadka.
  3. Kliknite a vyberte Výber prvkov nástroj (ikona kurzora myši) v ľavom rohu okna a umiestnite ho nad ľubovoľnú časť webovej stránky, čím prejdete na danú časť kódu.
  4. Je dôležité poznamenať, že profilové obrázky verejného účtu a súkromného účtu sú nastavené odlišne. Umiestnite kurzor myši na profilový obrázok verejného účtu. Atribút triedy pre verejný profil je _aa8j.
  5. Opakujte vyššie uvedený krok pre súkromný profil. Atribút triedy je _aadp.

Tento postup môžete použiť na pochopenie akejkoľvek webovej stránky a zacielenie na akýkoľvek prvok pre automatizáciu.

Ako vytvoriť nástroj na stiahnutie obrázkov profilu Instagram

Pri vytváraní sťahovača postupujte podľa týchto krokov.

  1. Importujte požadované moduly do prostredia Pythonu.
    od selén importovať webový ovládač
    importovať čas
    importovať urllib.request
  2. Pomocou funkcie vstupu získajte používateľské meno profilu, ktorého profilový obrázok sa má stiahnuť a uložte ho do premennej s názvom používateľské meno.
    #zadanie používateľského mena profilu, ktorého profilový obrázok sa má stiahnuť 
    username=input("Zadajte používateľské meno profilu: ")
  3. Inicializujte webový ovládač vytvorením jeho objektu a odovzdaním jeho cesty k súborovému systému.
    #vytvorenie objektu chromedriveru 
    cd='chromedriver.exe'
  4. Použi webový ovládač. Chrome funkciu na spustenie prehliadača Google Chrome.
    #otvorte prehliadač google chrome 
    driver = webdriver. Chrome(cd)
  5. Adresa URL akéhokoľvek účtu Instagram má formát https://www.instagram.com/ za ktorým nasleduje používateľské meno. Nastavte adresu URL profilu ako,
    #nastavenie adresy URL
    url='https://www.instagram.com/'
    url_p=url+user_h
  6. Odovzdajte úplnú adresu URL profilu Instagram, ktorý chcete navštíviť, funkcii get().
    #otvorte profil 
    vodič.dostať(url_p)
  7. Nastavte voliteľné odporúčané oneskorenie úplného načítania webovej stránky.
    #delay pre načítanie obsahu stránky
    čas.spať(5)
  8. Pomocou bloku try-except vyhľadajte a zistite, či profilový obrázok patrí do verejného profilu. To sa dosiahne použitím atribútu class vo výraze XPath. V prípade zlyhania použite blok okrem na vyhľadanie profilového obrázka súkromného účtu.
    skúste:
    #ak je profil verejný, vyhľadajte obrázok s triedou _aa8j
    image=driver.find_element_by_xpath('//img[@class="_aa8j"]')
    okrem:
    #ak je profil súkromný, vyhľadajte obrázok pomocou triedy _aadp
    image=driver.find_element_by_xpath('//img[@class="_aadp"]')
  9. Pomocou get_attribute() získajte atribút src obrázka. Tým sa vráti odkaz na obrázok.
    #uložte odkaz na stiahnutie obrázka 
    img_link=image.get_attribute('src')
  10. Nastavte cestu a príponu sťahovaného súboru. Môžete napríklad nastaviť, aby sa obrázok stiahol na disk D: vášho súborového systému vo formáte JPG ako.
    #nastaviť cestu k prevzatému súboru 
    cesta="D:\\"+používateľské meno+".jpg"
  11. Stiahnite si obrázok tak, že funkcii urlretrieve() odošlete odkaz na profilový obrázok ako zdroj a cestu k lokálnemu systémovému priečinku ako cieľ.
    #sťahovanie obrázka do požadovaného cieľa
    urllib.žiadosť.urlretrieve(img_link,cesta)
  12. Navštívte priečinok a skontrolujte, či sa profilový obrázok stiahol. Voliteľne môžete zobraziť aj cestu, kde bol profilový obrázok stiahnutý.
    #zobrazenie cesty stiahnutého profilového obrázka 
    vytlačiť ("Profilový obrázok bol stiahnutý na: "+cesta)

Konečný zdrojový kód pre sťahovanie obrázkov profilu Instagram pomocou Pythonu

Keď to všetko spojíte, získate:

#import požadovaných modulov
od selén importovať webový ovládač
importovať čas
importovať urllib.request
#zadanie používateľského mena profilu, ktorého profilový obrázok sa má stiahnuť
user_h=input("Zadajte používateľské meno profilu: ")
#nastavenie adresy URL
url='https://www.instagram.com/'
url_p=url+user_h
#creating object of chromedriver
cd='chromedriver.exe'
#otvorenie google
driver = webdriver. Chrome(cd)
#otvorte profil
vodič.dostať(url_p)
#delay pre načítanie obsahu stránky
čas.spať(5)
skúste:
#ak je profil verejný, vyhľadajte obrázok s triedou _aa8j
image=driver.find_element_by_xpath('//img[@class="_aa8j"]')
okrem:
#ak je profil súkromný, vyhľadajte obrázok pomocou triedy _aadp
image=driver.find_element_by_xpath('//img[@class="_aadp"]')

#uložte odkaz na stiahnutie obrázka
img_link=image.get_attribute('src')

Aplikácie Web Automation

Automatizácia vám nielen pomáha ušetriť čas, peniaze a námahu, ale tiež zaručuje dokončenie úloh a zároveň predchádza chybám. Použite túto techniku ​​na automatizáciu prihlasovania rôznych webových stránok, zálohovanie cloudových serverov, plánovanie správ, prianie k narodeninám na platformách sociálnych médií, vytváranie príspevkov, zverejňovanie tweetov a mnoho ďalších.