Profiilikuva on yksi sosiaalisen median tilin tärkeimmistä elementeistä, mutta sovellukset, kuten Instagram, eivät salli sinun katsella tai ladata sitä. Tämä prosessi voidaan saavuttaa helposti käyttämällä web-automaatiotyökalua, kuten Selenium with Python.
Opi käyttämään tätä tehokaksikkoa vuorovaikutuksessa minkä tahansa verkkosivun elementin kanssa, automatisoimaan sen ja säästämään arvokasta aikaa investoimalla tuottaviin tehtäviin. Ja paras osa? Rakenna tämä edes kirjautumatta sisään tai omaamatta Instagram-tiliä.!
Algoritmin rakentamisprosessi
Algoritmin rakentaminen tarkoittaa ongelman tunnistamisprosessia ja ohjelman automatisoitavien vaiheiden luetteloimista. Profiilikuvan lataamiseen vaadittavat eri vaiheet ovat:
- Ota syötteeksi profiilin käyttäjätunnus
- Avaa Google Chrome
- Vieraile Instagram-profiilissa
- Lataa profiilikuva
Tämä toimii ongelmalauseen algoritmina.
Tämä projekti käyttää seuraavia Python-moduuleja ja työkaluja.
1. Urllib-moduuli
Urllib on Python-moduuli, jota käytetään käsittelemään URL-osoitteita Internetistä. Aiot käyttää tätä moduulia ladataksesi tilin profiilikuvan sen lähde-URL-osoitteesta. Jos Urllib ei ole järjestelmässäsi, voit asentaa sen komennolla
pip install urllib.2. Aika moduuli
Vaikka tämä moduuli ei ole pakollinen, se voi aiheuttaa koontiversion epäonnistumisen, jos Internet-yhteytesi on hidas tai verkkosivun sisältöä ei ladata Python-ohjelman vuorovaikutuksen aikana Nettisivu. Viive()-funktio auttaa meitä asettamaan pienen viiveen, jotta rakentaminen ei epäonnistu.
3. Seleeni moduuli
Yksi suosituimmista avoimen lähdekoodin selaimen automaatiotyökaluista on Selenium. Se on saatavana Python-pakettina, joka tukee useita selaimia, kuten Google Chrome, Microsoft Edge, Safari ja Mozilla Firefox. Asenna Selenium Python-ympäristöösi avaamalla Terminaali ja toteuttaapip asennus seleeni.
4. WebDriver
Web-ajuri on Seleniumin käyttämä työkalu, joka muodostaa yhteyden ohjelman ja minkä tahansa verkkosivuston välille. Erilaiset web-ajurit ovat saatavilla sen selaimen mukaan, jonka haluat automatisoida. Käytät tätä rakennelmaa varten Google Chrome -selainta. Verkkoohjaimen asentaminen Chromelle:
- Tarkista käyttämäsi selaimen versio käymällä osoitteessa Valikko (3 pistettä) > Apua > Tietoja Google Chromesta.
- Huomaa selaimen versio.
- Vieraile lataussivulla ChromeDriver - WebDriver Chromelle.
- Valitse versionumeroasi vastaava vaihtoehto ChromeDriverin nykyisistä julkaisuista.
- Valitse ja lataa tiedosto käyttöjärjestelmäsi mukaan.
- Pura ladattu tiedosto ja sijoita se samaan kansioon kuin Python-ohjelmasi. Tästä on apua polun asettamisessa koodauksen aikana.
Kuinka tarkistaa koodi web-sivun minkä tahansa osan automatisoimiseksi
Kaikille Seleniumia ja Pythonia käyttäville web-automaatioprosesseille on tärkeää, että sinulla on perustiedot webistä ja sen teknologioista. Ensimmäinen askel on voitto johdatus HTML: ään jonka jälkeen CSS: n (Cascading Style Sheets) ymmärtäminen. Täällä opit tuntemaan tunnukset ja luokkia.
Tunnukset ja luokat ovat yksilöllisiä nimiä, jotka annetaan elementille tai elementtijoukolle (tunnisteille). Näiden avulla voit etsiä tarvittavan elementin ja ohjeistaa Python-ohjelman kohdistamaan sen erityisesti. Tarkistaaksesi koodin ja paikantaaksesi profiilikuva:
- Avaa Instagram-tilin verkkosivu.
- Napsauta selainta Valikko > Lisää työkaluja > Kehitystyökalut tai käytä pikanäppäintä Ctrl + Vaihto + I aktivoidaksesi Kehitystyökalut näkymä.
- Napsauta ja valitse Elementtien valitseja työkalu (hiiren kohdistinkuvake) ikkunan vasemmassa kulmassa ja siirrä se minkä tahansa verkkosivun osan päälle siirtyäksesi kyseiseen koodiosaan.
- On tärkeää huomata, että julkisen ja yksityisen tilin profiilikuvat on asetettu eri tavalla. Vie osoitin julkisen tilin profiilikuvan päälle. Julkisen profiilin luokkaattribuutti on _aa8j.
- Toista yllä oleva vaihe yksityiselle profiilille. Luokka-attribuutti on _aadp.
Tämän menettelyn avulla voit ymmärtää mitä tahansa verkkosivua ja kohdistaa mihin tahansa elementtiin automatisoitavaksi.
Kuinka rakentaa Instagram-profiilikuvan latausohjelma
Luo latausohjelma noudattamalla näitä ohjeita.
- Tuo tarvittavat moduulit Python-ympäristöön.
alkaen seleeni tuonti web-ajuri
tuonti aika
tuonti urllib.request - Hae syöttötoiminnolla sen profiilin käyttäjätunnus, jonka profiilikuva haluat ladata, ja tallenna se muuttujaan nimeltä username.
#syötetään sen profiilin käyttäjätunnus, jonka profiilikuva ladataan
username=input("Anna profiilin käyttäjätunnus: ") - Alusta verkkoohjain luomalla sille objekti ja välittämällä sen tiedostojärjestelmäpolku.
#chromedriver-objektin luominen
cd='chromedriver.exe' - Käytä web-ajuri. Kromi toiminto käynnistää Google Chrome -selaimen.
#avaa google chrome -selain
ohjain = webdriver. Kromi(CD) - Minkä tahansa Instagram-tilin URL-osoite on muotoa https://www.instagram.com/ perässä käyttäjätunnus. Aseta profiilin URL-osoite seuraavasti:
#URL-osoitteen asettaminen
url='https://www.instagram.com/'
url_p=url+käyttäjätunti - Välitä vierailevan Instagram-profiilin täydellinen URL-osoite get()-funktiolle.
#avaa profiili
kuljettaja.saada(url_p) - Aseta valinnainen suositeltu viive verkkosivun lataamiselle kokonaan.
#viive sivun sisällön lataamisessa
aika.nukkua(5) - Käytä try-except-lohkoa paikallistaaksesi ja määrittääksesi, kuuluuko profiilikuva julkiseen profiiliin. Tämä tehdään käyttämällä XPath-lausekkeen class-attribuuttia. Jos epäonnistuu, käytä paitsi-lohkoa etsiäksesi yksityisen tilin profiilikuvaa.
yrittää:
#jos profiili on julkinen, hae kuvaa luokasta _aa8j
image=driver.find_element_by_xpath('//img[@class="_aa8j"]')
paitsi:
#jos profiili on yksityinen, hae kuvaa luokalla _aadp
image=driver.find_element_by_xpath('//img[@class="_aadp"]') - Käytä get_attribute()-attribuuttia kuvan src-määritteellä. Tämä palauttaa kuvan linkin.
#tallenna kuvan latauslinkki
img_link=image.get_attribute('src') - Aseta ladatun tiedoston polku ja laajennus. Voit esimerkiksi asettaa kuvan ladattavaksi tiedostojärjestelmäsi D:-asemalle JPG-muodossa muodossa.
#määritä ladatun tiedoston polku
polku ="D:\\"+käyttäjänimi+".jpg" - Lataa kuva välittämällä profiilikuvan linkki lähteeksi ja paikallisen järjestelmän kansion polku kohteeksi urlretrieve()-funktiolle.
#kuvan lataaminen haluttuun kohteeseen
urllib.pyyntö.urlretrieve(img_link,polku) - Vieraile kansiossa ja katso, että profiilikuva on ladattu. Valinnaisesti voit myös näyttää polun, johon profiilikuva on ladattu.
#näyttää ladatun profiilikuvan polun
Tulosta("Profiilikuva on ladattu osoitteesta: "+polku)
Lopullinen lähdekoodi Instagram-profiilikuvan lataajalle Pythonilla
Kun yhdistät kaiken, saat:
#tarvittavien moduulien tuonti
alkaen seleeni tuonti web-ajuri
tuonti aika
tuonti urllib.request
#syötetään sen profiilin käyttäjätunnus, jonka profiilikuva ladataan
user_h=input("Anna profiilin käyttäjätunnus: ")
#URL-osoitteen asettaminen
url='https://www.instagram.com/'
url_p=url+käyttäjätunti
#chromedriver-objektin luominen
cd='chromedriver.exe'
#avaa google
ohjain = webdriver. Kromi(CD)
#avaa profiili
kuljettaja.saada(url_p)
#viive sivun sisällön lataamisessa
aika.nukkua(5)
yrittää:
#jos profiili on julkinen, hae kuvaa luokasta _aa8j
image=driver.find_element_by_xpath('//img[@class="_aa8j"]')
paitsi:
#jos profiili on yksityinen, hae kuvaa luokalla _aadp
image=driver.find_element_by_xpath('//img[@class="_aadp"]')
#tallenna kuvan latauslinkki
img_link=image.get_attribute('src')
Web-automaation sovellukset
Automaatio ei ainoastaan säästä aikaa, rahaa ja vaivaa, vaan myös takaa tehtävien suorittamisen ja estää virheitä. Käytä tätä tekniikkaa automatisoidaksesi eri verkkosivustojen kirjautumisen, tehdäksesi pilvipalvelimien varmuuskopion, ajoittaaksesi viestejä, toivottaaksesi syntymäpäiviä sosiaalisen median alustoilla, luodaksesi viestejä, julkaistaksesi twiittejä ja paljon muuta.