Twitter 팔로어 수 자동화

13797 단어 tutorialpythonshowdev
트위터에서 자신의 이름에 팔로워를 추가하는 사람들을 많이 봤습니다.

이렇게 생겼어요 -
이 구현에 대해 더 테스트하려면 제 프로필을 확인하세요😉

이를 달성하는 방법은 여러 가지가 있으므로 Python을 선택했습니다.

전제 조건:

먼저 트위터 개발자 계정이 있어야 합니다. 없는 경우.

1) 그냥 이동
2) 'API로 수행하려는 작업'에 대한 세부 정보로 양식을 작성하십시오. 4개의 양식으로 리디렉션됩니다. 양식을 하나씩 작성하고 개발자 이용약관에 동의한 후 신청서를 제출하세요.
이 프로세스는 10분 정도 소요될 수 있으며 양식을 제출하면 즉시 확인 이메일을 받게 됩니다.



트위터에서 승인을 받은 후. 이제 앱을 만들 수 있습니다.

1) 이것을 열고 "앱 만들기"를 클릭하십시오.

2) 앱에 이름을 지정합니다. 그리고 이미 존재하는 앱의 이름을 지정할 수 없습니다.



3) 다음으로 API 키, 토큰으로 리디렉션되고 "앱 설정"을 클릭합니다.

4) 이제 앱 권한 섹션까지 아래로 스크롤하고 옵션을 "읽기"에서 "읽기 및 쓰기"로 변경하고 저장을 클릭합니다.



5) 이제 맨 위로 스크롤하여 "키 및 토큰"옵션을 클릭합니다. 그것을 클릭하면 "키 보기"버튼과 "생성"버튼을 각각 클릭하여 Twitter API 키와 액세스 토큰을 볼 수 있습니다.



여기에 우리의 논리 부분이 있습니다 ...

두 개의 파일을 만들어야 합니다.
  • config.py
  • counter.py

  • 이 config.py는 tweepy 모듈과 API 키를 사용하여 인증된 API를 생성하는 역할을 합니다.

    config.py



    import tweepy
    import logging
    from os import environ
    
    logger = logging.getLogger()
    
    def create_api():
        consumer_key = environ['CONSUMER_KEY']
        consumer_secret =  environ['CONSUMER_SECRET']
        access_token =  environ["ACCESS_TOKEN"]
        access_token_secret =environ["ACCESS_TOKEN_SECRET"]
    
        auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
        auth.set_access_token(access_token, access_token_secret)
        api = tweepy.API(auth, wait_on_rate_limit=True,
                         wait_on_rate_limit_notify=True)
        try:
            api.verify_credentials()
        except Exception as e:
            logger.error('Error creating API', exc_info=True)
            raise e
        logger.info('API created')
        return api
    

    배포할 때 환경 변수를 추가하는 것을 잊지 마십시오.

    이 counter.py는 매분 실행되며 변경 사항이 있으면 팔로워 수를 확인한 다음 이름과 팔로워 수를 업데이트합니다.
    숫자 대신 이모티콘도 사용할 수 있습니다.

    counter.py



    import tweepy
    import logging
    from config import create_api
    import time
    
    logging.basicConfig(level=logging.INFO)
    logger = logging.getLogger()
    
    
    def validate_follower_count(user):
        # update string split if you don't use this naming format for twitter profile:
        # 'insert_your_name|{emoji_follower_count(user)} Followers'
        current_follower_count = user.name.replace('|', ' ').split()
        return current_follower_count
    
    
    def emoji_follower_count(user):
        emoji_numbers = {0: "0️⃣", 1: "1️⃣", 2: "2️⃣", 3: "3️⃣",
                         4: "4️⃣", 5: "5️⃣", 6: "6️⃣", 7: "7️⃣", 8: "8️⃣", 9: "9️⃣"}
    
        follower_count_list = [int(i) for i in str(user.followers_count)]
    
        emoji_followers = ''.join([emoji_numbers[k]
                                   for k in follower_count_list if k in emoji_numbers.keys()])
    
        return emoji_followers
    
    
    def main():
        api = create_api()
    
        while True:
            # change to your own twitter_handle
            user = api.get_user('aleti_sunil')
    
    
            if validate_follower_count(user) == emoji_follower_count(user):
                logger.info(
                    f'You still have the same amount of followers, no update neccesary: {validate_follower_count(user)} -> {emoji_follower_count(user)}')
            else:
                logger.info(
                    f'Your amount of followers has changed, updating twitter profile: {validate_follower_count(user)} -> {emoji_follower_count(user)}')
                # Updating your twitterprofile with your name including the amount of followers in emoji style
                api.update_profile(
                    name=f'Sunil Aleti |  {emoji_follower_count(user)}')
    
            logger.info("Waiting to refresh..")
            time.sleep(60)
    
    
    if __name__ == "__main__":
        main()
    

    이제 코드를 github에 푸시하면 파일을 가져올 수 있습니다here.


    알레티수닐 / Twitter팔로어카운터





    이것을 AWS에도 배포할 수 있지만 내 취향은 아닙니다.
    따라서 Heroku에 배포할 때
    파일을 몇 개 더 추가해야 합니다.

  • requirements.txt - tweepy 모듈을 사용하고 있으므로 requirements.txt에 tweepy를 지정해야 합니다
  • .

  • Procfile - 이 파일은 counter.py 파일을 실행할 heroku를 지정합니다
  • .

  • runtime.txt - 이 경우 Python을 사용하므로 python-3.6.9
  • 를 언급합니다.

    Heroku에 추가 배포하려면 이 비디오를 따르십시오.



    참조:

    내 콘텐츠가 마음에 들면 나를 지원하는 것을 고려하십시오


    유용하길 바랍니다

    A ❤️ 멋질 것입니다 😊

    좋은 웹페이지 즐겨찾기