Today's

길을 나서지 않으면 그 길에서 만날 수 있는 사람을 만날 수 없다

파이썬 스크립트

파이썬 따라 하기 : 인스타그램 봇...

Billcorea 2022. 2. 15. 21:05
반응형

https://www.instagram.com/p/CYpyr7gP1bD24_ClRSykWTdwAlj8mrnYZuASig0/

반려 거북이의 일상을 공유하는 별그램을 하나 운영하고 있다... 그런데, 어느날 부터 사진 업로드가 되지 않는 것이다. 

이전에는 instabot 이라는 라이브러리를 사용하고 있었는데, 이것이 자꾸 429 error 을 받으면서 로그인이 되지 않고 넘어가지 않는 것이다. 

 

그래서 찾아보니, 이런 클라이언트가 있었다. instabrapi ... 게시자의 글로는 비공식 이라는 표현이 있기는 하지만, 

코드도 간결하게 사용이 되고 사진 업로드 역시 어렵지 않게 구현이 되었다.

 

https://github.com/adw0rd/instagrapi

 

GitHub - adw0rd/instagrapi: 🔥 The fastest and powerful Python library for Instagram Private API 2022

🔥 The fastest and powerful Python library for Instagram Private API 2022 - GitHub - adw0rd/instagrapi: 🔥 The fastest and powerful Python library for Instagram Private API 2022

github.com

 

https://adw0rd.github.io/instagrapi/usage-guide/media.html

 

Media

🔥 The fastest and powerful Python library for Instagram Private API 2022

adw0rd.github.io

사진 올리는 예제가 나와 있는 페이지는 위에 링크를 참조하면 될 것 같다. 

그럼 이제 나의 코드를 볼까 ?

 

from instagrapi import Client
import picamera  # 라즈베리파이 카메라 모듈

cl = Client()
cl.login("na.....r", "wl.....#") # 별그램 아이디, 패스워드 

camera = picamera.PiCamera()
camera.capture('file.jpg')

media = cl.photo_upload(
    "file.jpg",
    "#거북이 #python #bot",
    extra_data={
        "custom_accessibility_caption": "취미생활",
        "like_and_view_counts_disabled": 0,
        "disable_comments": 0,
    }
)

print("job end")

위 코드 예시 처럼  계정아이디와 비밀번호만 넣으면 간단하다. 

photo_upload 함수는 위의 예시 처럼, 파일 이름 과, 게시용 글자만 넣어 주면 되고

그 아래 선택사항이 있는 데, 그 옵션은 0 이면 선택 안함 이고, 1이면 선택함이 된다.  그래서 1로 하는 경우는 댓글 달기 기능과 좋아요 카운트가 보이지 않게 된다. 그래서 난 0으로 선택해서 upload 을 하였다. 

 

별그램에서는 아래 그림 처럼 잘 올라간다...

 

별그림 페이지

 

매일 매일 올리는 건 어떻게 ?  raspberry pi 라는 게 있어서 난 그것을 이용하고 있다. 저렴한 서버(?)을 하나 가지고 있다고 해야 하나 ? ㅋㅋㅋ

 

반응형