Ինչպես ներբեռնել Instagram-ի պրոֆիլի նկարը Python-ի միջոցով


Instagram-ի պրոֆիլի նկարները փոքր են: Ահա թե ինչպես կարելի է ներբեռնել պրոֆիլի պատկերը Python-ով և դիտել այն ամբողջական լուծաչափով:

Պրոֆիլի նկարը ցանկացած սոցիալական մեդիայի հաշվի հիմնական տարրերից մեկն է, սակայն Instagram-ի նման հավելվածները թույլ չեն տալիս դիտել կամ ներբեռնել այն: Այս գործընթացին կարելի է հեշտությամբ հասնել՝ օգտագործելով վեբ ավտոմատացման գործիք, ինչպիսին է Selenium-ը Python-ով:

Սովորեք օգտագործել այս հզոր դուետը՝ վեբ էջի ցանկացած տարրի հետ շփվելու, այն ավտոմատացնելու և արդյունավետ առաջադրանքների վրա ներդրումներ կատարելու համար ձեզ անգնահատելի ժամանակ խնայելու համար: Իսկ ամենալավ մասը. Կառուցեք սա առանց նույնիսկ մուտք գործելու կամ Instagram-ի հաշիվ ունենալու:

Ալգորիթմի կառուցման գործընթացը

Ալգորիթմի կառուցումը վերաբերում է խնդրի նույնականացման և այն քայլերի ցուցակագրման գործընթացին, որոնք պետք է ավտոմատացնել ծրագիրը: Պրոֆիլի նկարը ներբեռնելու համար պահանջվող տարբեր քայլերն են.

  1. Որպես մուտքագրեք պրոֆիլի օգտանունը
  2. Բացեք Google Chrome-ը
  3. Այցելեք Instagram-ի պրոֆիլը
  4. Ներբեռնեք պրոֆիլի նկարը

Սա ծառայում է որպես խնդրի հայտարարության ալգորիթմ:

Հասկանալով և տեղադրելով անհրաժեշտ մոդուլները և գործիքները

Այս նախագիծը օգտագործում է հետևյալ Python մոդուլներն ու գործիքները.

1. Urllib մոդուլ

Urllib-ը Python մոդուլ է, որն օգտագործվում է ինտերնետից URL-ներ մշակելու համար: Դուք պատրաստվում եք օգտագործել այս մոդուլը՝ հաշվի պրոֆիլի նկարը սկզբնաղբյուր URL-ից ներբեռնելու համար: Եթե Urllib-ը չկա ձեր համակարգում, կարող եք տեղադրել այն՝ օգտագործելով pip install urllib հրամանը:

2. Ժամանակի մոդուլ

Այս մոդուլը, չնայած պարտադիր չէ, կարող է հանգեցնել շինարարության ձախողմանը, եթե ձեր ինտերնետային կապը դանդաղ է կամ վեբ էջի բովանդակությունը բեռնված չէ Python ծրագրի վեբ էջի հետ փոխազդեցության ժամանակ: Delay() ֆունկցիան օգնում է մեզ մի փոքր ուշացում դնել, որպեսզի build-ը չտապալվի:

3. Սելենի մոդուլ

Բրաուզերի բաց կոդով ավտոմատացման ամենահայտնի գործիքներից մեկը Selenium-ն է: Այն հասանելի է Python փաթեթի տեսքով, որն աջակցում է տարբեր բրաուզերների, ինչպիսիք են Google Chrome-ը, Microsoft Edge-ը, Safari-ն և Mozilla Firefox-ը: Selenium-ը ձեր Python միջավայրում տեղադրելու համար բացեք ձեր Տերմինալը և կատարեք pip install selenium:

4. WebDriver

Վեբ դրայվերը Selenium-ի կողմից օգտագործվող գործիք է, որը կապ է հաստատում ծրագրի և ցանկացած կայքի միջև: Տարբեր տեսակի վեբ վարորդներ հասանելի են՝ հիմնվելով այն դիտարկիչի վրա, որը ցանկանում եք ավտոմատացնել: Այս կառուցման համար դուք պատրաստվում եք օգտագործել Google Chrome բրաուզերը: Chrome-ի վեբ վարորդը տեղադրելու համար՝

  1. Ստուգեք ձեր օգտագործած դիտարկիչի տարբերակը՝ այցելելով Մենյու (3 կետ) >Օգնություն > Google Chrome-ի մասին:

  2. Նշեք բրաուզերի տարբերակը:

  3. Այցելեք ChromeDriver-ի ներբեռնումների էջը՝ WebDriver Chrome-ի համար:
  4. Ընտրեք այն տարբերակը, որը համապատասխանում է ձեր տարբերակի համարին ChromeDriver-ի ընթացիկ թողարկումներից:

  5. Ընտրեք և ներբեռնեք ֆայլը ըստ ձեր օպերացիոն համակարգի:

  6. Քաղեք ներբեռնված ֆայլը և տեղադրեք այն նույն պանակում, ինչ ձեր Python ծրագիրը: Սա օգտակար կլինի կոդավորման ընթացքում ուղին սահմանելու համար:

Ինչպես ստուգել վեբ էջի ցանկացած կողմի ավտոմատացման կոդը

Selenium-ի և Python-ի օգտագործմամբ վեբ ավտոմատացման ցանկացած գործընթացի համար կարևոր է ունենալ համացանցի և դրա տեխնոլոգիաների հիմնական պատկերացումները: Առաջին քայլը HTML-ի ներածություն ձեռք բերելն է, որին հաջորդում է Cascading Style Sheets (CSS) հասկանալը: Այստեղ դուք կծանոթանաք ID-ների և դասերի հայեցակարգին:

ID-ները և դասերը եզակի անուններ են, որոնք տրվում են համապատասխանաբար որևէ տարրի կամ տարրերի հավաքածուի (պիտակների): Օգտագործելով դրանք, դուք գտնում եք անհրաժեշտ տարրը և հրահանգում Python ծրագրին հատուկ թիրախավորել այն: Կոդը ստուգելու և պրոֆիլի նկարը գտնելու համար՝

  1. Բացեք Instagram-ի էջը։
  2. Կտտացրեք զննարկիչի Մենյու > Լրացուցիչ գործիքներ > Մշակողների գործիքներ կամ օգտագործեք դյուրանցումը Ctrl + Shift + Ես ակտիվացնեմ Developer Toolsտեսքը:

  3. Սեղմեք և ընտրեք Element Picker գործիքը (մկնիկի կուրսորի պատկերակը) պատուհանի ձախ անկյունում և սավառնել այն վեբ էջի ցանկացած մասի վրա՝ անցնելու կոդի այդ բաժին:

  4. Կարևոր է նշել, որ հանրային և անձնական հաշվի պրոֆիլի նկարները տարբեր կերպ են դրված: Տեղադրեք կուրսորը հանրային հաշվի պրոֆիլի նկարի վրա: Հանրային պրոֆիլի դասի հատկանիշն է _aa8j:

  5. Կրկնեք վերը նշված քայլը անձնական պրոֆիլի համար: Դասի հատկանիշն է _aadp:

Դուք կարող եք օգտագործել այս ընթացակարգը՝ հասկանալու ցանկացած վեբ էջ և թիրախավորել ցանկացած տարր ավտոմատացման համար:

Ինչպես կառուցել Instagram պրոֆիլի նկարների ներբեռնիչ

Ներբեռնիչը ստեղծելու համար հետևեք այս քայլերին:

  1. Ներմուծեք անհրաժեշտ մոդուլները Python միջավայր:

    from selenium import webdriver
    import time
    import urllib.request
  2. Օգտագործելով մուտքագրման գործառույթը, ստացեք այն պրոֆիլի օգտանունը, որի պրոֆիլի նկարը պետք է ներբեռնվի և պահեք այն փոփոխականում, որը կոչվում է օգտվողի անուն:

    #entering the username of the profile whose profile picture is to be downloaded 
    username=input("Enter the username of the profile: ")
  3. Նախաձեռնեք վեբ դրայվերը՝ ստեղծելով դրա օբյեկտ և անցնելով դրա ֆայլային համակարգի ուղին:

    #creating an object of chromedriver 
    cd='chromedriver.exe'
  4. Google Chrome դիտարկիչը գործարկելու համար օգտագործեք webdriver.Chrome ֆունկցիան:

    #open google chrome browser 
    driver = webdriver.Chrome(cd)
  5. Instagram-ի ցանկացած հաշվի URL-ն ունի https://www.instagram.com/ ձևաչափ, որին հաջորդում է օգտանունը: Սահմանեք պրոֆիլի URL-ը որպես՝

    #setting the url
    url='https://www.instagram.com/' 
    url_p=url+user_h
  6. Անցեք Instagram-ի այն պրոֆիլի ամբողջական URL-ը, որին պետք է այցելեք get() ֆունկցիային:

    #open the profile 
    driver.get(url_p)
  7. Սահմանեք կամընտիր առաջարկվող ուշացում՝ վեբ էջի ամբողջական բեռնման համար:

    #delay for page content loading
    time.sleep(5)
  8. Օգտագործեք try-except բլոկը՝ տեղորոշելու և որոշելու համար, թե արդյոք պրոֆիլի նկարը պատկանում է հանրային պրոֆիլին: Դա արվում է XPath արտահայտության մեջ class հատկանիշի օգտագործմամբ: Անհաջողության դեպքում օգտագործեք բացառության բլոկը՝ մասնավոր հաշվի պրոֆիլի նկարը որոնելու համար:

    try:
    #if profile is public, search for image with class _aa8j
    image=driver.find_element_by_xpath('//img[@class="_aa8j"]')
    except:
    #if profile is private, search for image with class _aadp
    image=driver.find_element_by_xpath('//img[@class="_aadp"]')
  9. Օգտագործելով get_attribute() ստացեք պատկերի src հատկանիշը: Սա վերադարձնում է պատկերի հղումը:

    #store the download link of image 
    img_link=image.get_attribute('src')
  10. Սահմանեք ներբեռնված ֆայլի ուղին և ընդլայնումը: Օրինակ, կարող եք նկարը ներբեռնել ձեր ֆայլային համակարգի D: դրայվում՝ JPG ձևաչափով, ինչպես:

    #set path of downloaded file 
    path="D:\\"+username+".jpg"
  11. Ներբեռնեք պատկերը՝ որպես աղբյուր փոխանցելով պրոֆիլի նկարի հղումը և տեղական համակարգի թղթապանակի ուղին՝ որպես urlretrieve() ֆունկցիայի նպատակակետ:

    #downloading image to the required destination
    urllib.request.urlretrieve(img_link,path)
  12. Այցելեք թղթապանակը և տեսեք, որ պրոֆիլի նկարը ներբեռնվել է: Ցանկության դեպքում կարող եք նաև ցուցադրել այն ուղին, որտեղ ներբեռնվել է պրոֆիլի նկարը:

    #displaying the path of the profile pic downloaded 
    print("The profile pic has been downloaded at: "+path)

Ինստագրամի պրոֆիլի նկարներ ներբեռնողի վերջնական կոդ՝ օգտագործելով Python

Այս ամենը ի մի բերելով՝ դուք ստանում եք.

#importing the required modules
from selenium import webdriver 
import time
import urllib.request
#entering the username of the profile whose profile picture is to be downloaded 
user_h=input("Enter the username of the profile: ")
#setting the url
url='https://www.instagram.com/'
url_p=url+user_h
#creating object of chromedriver
cd='chromedriver.exe'
#open google
driver = webdriver.Chrome(cd)
#open the profile
driver.get(url_p)
#delay for page content loading
time.sleep(5)
try:
#if profile is public, search for image with class _aa8j
  image=driver.find_element_by_xpath('//img[@class="_aa8j"]')
except:
#if profile is private, search for image with class _aadp 
    image=driver.find_element_by_xpath('//img[@class="_aadp"]') 

#store the download link of image
img_link=image.get_attribute('src')

Վեբ ավտոմատացման կիրառություններ

Ավտոմատացումը ոչ միայն օգնում է խնայել ժամանակ, գումար և ջանք, այլ նաև երաշխավորում է առաջադրանքների կատարումը՝ միաժամանակ կանխելով սխալները: Օգտագործեք այս տեխնիկան՝ տարբեր կայքերի մուտքն ավտոմատացնելու, ամպային սերվերների կրկնօրինակում կատարելու, հաղորդագրությունների ժամանակացույցի, սոցիալական մեդիա հարթակներում ծննդյան տոներ մաղթելու, գրառումներ ստեղծելու, թվիթներ հրապարակելու և շատ ավելին: