Profiilipilt on mis tahes sotsiaalmeediakonto üks peamisi elemente, kuid sellised rakendused nagu Instagram ei võimalda teil seda vaadata ega alla laadida. Seda protsessi saab hõlpsasti saavutada, kasutades veebiautomaatika tööriista, nagu Selenium koos Pythoniga.
Õppige kasutama seda võimsat duot veebilehe mis tahes elemendiga suhtlemiseks, selle automatiseerimiseks ja säästke hindamatut aega tootlikesse ülesannetesse investeerides. Ja parim osa? Looge see isegi sisse logimata või Instagrami kontot omamata.!
Algoritmi loomise protsess
Algoritmi koostamine viitab probleemi tuvastamise protsessile ja sammude loetlemisele, mida programm peab automatiseerima. Profiilipildi allalaadimiseks on vaja järgmisi samme:
- Võtke sisendiks profiili kasutajanimi
- Avage Google Chrome
- Külastage Instagrami profiili
- Laadige alla profiilipilt
See toimib probleemiavalduse algoritmina.
See projekt kasutab järgmisi Pythoni mooduleid ja tööriistu.
1. Urllib moodul
Urllib on Pythoni moodul, mida kasutatakse Internetist pärit URL-ide haldamiseks. Kasutate seda moodulit konto profiilipildi allalaadimiseks selle lähte-URL-ist. Kui Urllib teie süsteemis puudub, saate selle käsuga installida
pip install urllib.2. Aja moodul
Kuigi see moodul ei ole kohustuslik, võib ehitamine ebaõnnestuda, kui teie Interneti-ühendus on aeglane või veebilehe sisu ei laadita Pythoni programmi interaktsiooni ajal veebileht. Funktsioon delay() aitab meil panna väikese viivituse, et ehitamine ei ebaõnnestuks.
3. Seleeni moodul
Üks populaarsemaid avatud lähtekoodiga brauseri automatiseerimistööriistu on Selenium. See on saadaval Pythoni paketina, mis toetab erinevaid brausereid, nagu Google Chrome, Microsoft Edge, Safari ja Mozilla Firefox. Seleniumi installimiseks oma Pythoni keskkonda avage oma Terminal ja teostadapip install seleen.
4. Veebidraiver
Veebidraiver on Seleniumi kasutatav tööriist, mis loob ühenduse programmi ja mis tahes veebisaidi vahel. Erinevat tüüpi veebidraiverid on saadaval selle brauseri alusel, mida soovite automatiseerida. Selle järgu jaoks kasutate Google Chrome'i brauserit. Chrome'i veebidraiveri installimiseks tehke järgmist.
- Kontrollige kasutatava brauseri versiooni, külastades veebilehte Menüü (3 punkti) > Abi > Teave Google Chrome'i kohta.
- Pange tähele brauseri versiooni.
- Külastage allalaadimislehte ChromeDriver – veebidraiver Chrome'i jaoks.
- Tehke ChromeDriveri praeguste versioonide hulgast valik, mis vastab teie versiooninumbrile.
- Valige ja laadige fail alla vastavalt oma operatsioonisüsteemile.
- Pakkige allalaaditud fail lahti ja asetage see Pythoni programmiga samasse kausta. See on abiks tee määramisel kodeerimise ajal.
Kuidas kontrollida koodi veebilehe mis tahes aspekti automatiseerimiseks
Iga Seleniumi ja Pythoni kasutava veebiautomaatika protsessi jaoks on oluline omada põhiteadmisi veebist ja selle tehnoloogiatest. Esimene samm on võita sissejuhatus HTML-i järgneb kaskaadlaaditabelite (CSS) mõistmine. See on koht, kus saate tuttavaks ID-de ja klasside kontseptsiooniga.
ID-d ja klassid on kordumatud nimed, mis on antud vastavalt elemendile või elementide komplektile (sildid). Neid kasutades leiate vajaliku elemendi ja juhendate Pythoni programmi seda konkreetselt sihtima. Koodi kontrollimiseks ja profiilipildi leidmiseks toimige järgmiselt.
- Avage Instagrami konto veebileht.
- Klõpsake brauserit Menüü > Rohkem tööriistu > Arendaja tööriistad või kasutage otseteed Ctrl + tõstuklahv + I aktiveerimiseks Arendaja tööriistad vaade.
- Klõpsake ja valige Elementide valija tööriista (hiirekursori ikoon) akna vasakus nurgas ja hõljutage kursorit veebilehe mis tahes osa kohal, et liikuda sellele koodiosale.
- Oluline on märkida, et avaliku konto ja privaatse konto profiilipildid on erinevalt seadistatud. Hõljutage kursorit avaliku konto profiilipildi kohal. Avaliku profiili klassiatribuut on _aa8j.
- Korrake ülaltoodud sammu privaatse profiili jaoks. Klassi atribuut on _aadp.
Seda protseduuri saate kasutada mis tahes veebilehe mõistmiseks ja mis tahes elemendi automatiseerimiseks sihtimiseks.
Kuidas luua Instagrami profiilipildi allalaadija
Allalaadija loomiseks järgige neid samme.
- Importige vajalikud moodulid Pythoni keskkonda.
alates seleen importida veebidraiver
importida aega
importida urllib.request - Sisestusfunktsiooni kasutades hankige selle profiili kasutajanimi, mille profiilipilt alla laaditakse, ja salvestage see muutujasse nimega kasutajanimi.
#sisestades selle profiili kasutajanime, mille profiilipilt alla laadida
kasutajanimi=input("Sisesta profiili kasutajanimi: ") - Initsialiseerige veebidraiver, luues sellest objekti ja edastades selle failisüsteemi tee.
#chromedriveri objekti loomine
cd='chromedriver.exe' - Kasuta veebidraiver. Chrome funktsioon Google Chrome'i brauseri käivitamiseks.
#avage Google Chrome'i brauser
draiver = veebidraiver. Chrome(cd) - Iga Instagrami konto URL on vormingus https://www.instagram.com/ millele järgneb kasutajanimi. Määra profiili URL-iks
#url-i määramine
url='https://www.instagram.com/'
url_p=url+kasutaja_h - Edastage funktsioonile get() külastatava Instagrami profiili täielik URL.
#ava profiil
autojuht.saada(url_p) - Määrake veebilehe täielikuks laadimiseks valikuline soovitatav viivitus.
#lehe sisu laadimise viivitus
aega.magama(5) - Kasutage proovi-välja arvatud plokki, et leida ja määrata, kas profiilipilt kuulub avalikule profiilile. Seda tehakse XPathi avaldises klassi atribuudi abil. Ebaõnnestumise korral kasutage privaatse konto profiilipildi otsimiseks välja arvatud blokki.
proovi:
#kui profiil on avalik, otsige pilti klassiga _aa8j
image=driver.find_element_by_xpath('//img[@class="_aa8j"]')
välja arvatud:
#kui profiil on privaatne, otsige pilti klassiga _aadp
image=driver.find_element_by_xpath('//img[@class="_aadp"]') - Get_attribute() abil saate pildi atribuudi src. See tagastab pildi lingi.
#salvestage pildi allalaadimise link
img_link=image.get_attribute('src') - Määrake allalaaditud faili tee ja laiend. Näiteks saate määrata pildi allalaadimiseks oma failisüsteemi D: draivi JPG-vormingus kui.
#määrake allalaaditud faili tee
tee ="D:\\"+kasutajanimi+".jpg" - Laadige pilt alla, edastades funktsiooni urlretrieve() allikana profiilipildi lingi ja sihtkohaks kohaliku süsteemi kausta tee.
#pildi allalaadimine soovitud sihtkohta
urllib.taotlus.urlretrieve(img_link,tee) - Külastage kausta ja vaadake, kas profiilipilt on alla laaditud. Soovi korral saate kuvada ka profiilipildi allalaadimise tee.
#allalaaditud profiilipildi tee kuvamine
print("Profiilipilt on alla laaditud aadressilt: "+tee)
Instagrami profiilipildi allalaadija lõplik lähtekood Pythoni abil
Kui ühendate selle kõik kokku, saate:
#vajalike moodulite importimine
alates seleen importida veebidraiver
importida aega
importida urllib.request
#sisestades selle profiili kasutajanime, mille profiilipilt alla laadida
user_h=input("Sisesta profiili kasutajanimi: ")
#url-i määramine
url='https://www.instagram.com/'
url_p=url+kasutaja_h
#chromedriveri objekti loomine
cd='chromedriver.exe'
#ava google
draiver = veebidraiver. Chrome(cd)
#ava profiil
autojuht.saada(url_p)
#lehe sisu laadimise viivitus
aega.magama(5)
proovi:
#kui profiil on avalik, otsige pilti klassiga _aa8j
image=driver.find_element_by_xpath('//img[@class="_aa8j"]')
välja arvatud:
#kui profiil on privaatne, otsige pilti klassiga _aadp
image=driver.find_element_by_xpath('//img[@class="_aadp"]')
#salvestage pildi allalaadimise link
img_link=image.get_attribute('src')
Veebiautomaatika rakendused
Automatiseerimine ei aita mitte ainult säästa aega, raha ja vaeva, vaid tagab ka ülesannete lõpuleviimise, vältides samal ajal vigu. Kasutage seda tehnikat erinevate veebisaitide sisselogimise automatiseerimiseks, pilveserverite varundamiseks, sõnumite ajastamiseks, sünnipäevade soovimiseks sotsiaalmeedia platvormidel, postituste loomiseks, säutsude avaldamiseks ja palju muud.