Created
July 1, 2024 19:28
-
-
Save mehmetabak/ca25cd817d0198f6d379adcf6e165805 to your computer and use it in GitHub Desktop.
This Python script basically helps you identify GitHub users you follow who do not follow you back.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import requests | |
| import re | |
| def validate_username(username): | |
| if re.match(r'^[a-zA-Z0-9-]{1,39}$', username): | |
| return True | |
| else: | |
| return False | |
| def get_following(GITHUB_USERNAME): | |
| url = f'https://api.github.com/users/{username}/following' | |
| response = requests.get(url, GITHUB_USERNAME) | |
| if response.status_code == 200: | |
| return [user['login'] for user in response.json()] | |
| else: | |
| response.raise_for_status() | |
| def get_followers(GITHUB_USERNAME): | |
| url = f'https://api.github.com/users/{username}/followers' | |
| response = requests.get(url, GITHUB_USERNAME) | |
| if response.status_code == 200: | |
| return [user['login'] for user in response.json()] | |
| else: | |
| response.raise_for_status() | |
| def find_non_followers(username): | |
| following = get_following(username) | |
| followers = get_followers(username) | |
| non_followers = [user for user in following if user not in followers] | |
| if non_followers: | |
| print("Users you follow who don't follow you back:") | |
| for user in non_followers: | |
| print(f" User Name: {user} \n Profile URL: https://github.com/{user}") | |
| else: | |
| print("Everyone you follow follows you back!") | |
| if __name__ == "__main__": | |
| username = input("Enter your GitHub username: ") | |
| while not validate_username(username): | |
| print("Invalid GitHub username. Please enter a valid username.") | |
| username = input("Enter your GitHub username: ") | |
| else: | |
| find_non_followers(username) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment