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:
- Ako vstup použite používateľské meno profilu
- Otvorte Google Chrome
- Navštívte profil na Instagrame
- 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
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:
- Verziu prehliadača, ktorý používate, skontrolujte na stránke Ponuka (3 bodky) >Pomoc > O prehliadači Google Chrome.
- Všimnite si verziu prehliadača.
- Navštívte stránku na stiahnutie ChromeDriver – WebDriver pre Chrome.
- Vyberte možnosť, ktorá sa zhoduje s číslom vašej verzie z aktuálnych vydaní aplikácie ChromeDriver.
- Vyberte a stiahnite súbor podľa vášho operačného systému.
- 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:
- Otvorte webovú stránku účtu Instagram.
- 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.
- 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.
- 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.
- 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.
- Importujte požadované moduly do prostredia Pythonu.
od selén importovať webový ovládač
importovať čas
importovať urllib.request - 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: ") - 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' - Použi webový ovládač. Chrome funkciu na spustenie prehliadača Google Chrome.
#otvorte prehliadač google chrome
driver = webdriver. Chrome(cd) - 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 - Odovzdajte úplnú adresu URL profilu Instagram, ktorý chcete navštíviť, funkcii get().
#otvorte profil
vodič.dostať(url_p) - Nastavte voliteľné odporúčané oneskorenie úplného načítania webovej stránky.
#delay pre načítanie obsahu stránky
čas.spať(5) - 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"]') - 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') - 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" - 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) - 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.