Всем привет, я понимаю что мой код не очень хорош, да и этот парсер можно доделать, но я остановился на этом.
Делался парсер просто так, чтобы было.
И дa, мы будем использовать запрос в котором будем получать json.
И так начнём, первое что нам нужно сделать это же конечно установить библиотеки использованные в нашем парсере.
Если кто-то не знает, то, (цитирую из документации) requests - "Requests - это простая, но элегантная HTTP-библиотека".
fake-useragent - Современный простой пользовательский агент-фейкер с реальной базой данных. С помощью этой библиотеки мы будем менять свой "user-agent"
colorama - Обеспечивает работу управляющих символов ANSI (для создания цветного текста терминала и позиционирования курсора) под MS Windows. (Для красоты)
Перейдём к коду, первое что нам нужно сделать это конечно же импортирование наших библиотек.
Дальше подготовка к парсингу.
Теперь приступаем к самому парсеру
А кому лень было всё читать и он зашёл просто пастить то вот
автор: coder2000
Делался парсер просто так, чтобы было.
И дa, мы будем использовать запрос в котором будем получать json.
И так начнём, первое что нам нужно сделать это же конечно установить библиотеки использованные в нашем парсере.
Python:
pip install requests
pip install fake-useragent
pip install colorama
Если кто-то не знает, то, (цитирую из документации) requests - "Requests - это простая, но элегантная HTTP-библиотека".
fake-useragent - Современный простой пользовательский агент-фейкер с реальной базой данных. С помощью этой библиотеки мы будем менять свой "user-agent"
colorama - Обеспечивает работу управляющих символов ANSI (для создания цветного текста терминала и позиционирования курсора) под MS Windows. (Для красоты)
Перейдём к коду, первое что нам нужно сделать это конечно же импортирование наших библиотек.
Python:
import requests
import fake_useragent
from colorama import init
from colorama import Fore
Дальше подготовка к парсингу.
Python:
def main():
init(autoreset=True) # Инициализируем colorama с autoreset'ом
user = fake_useragent.UserAgent().random # Создаём переменную user и суём туда рандомный user-agent.
header = {'user-agent': user} # В заголовок суём наш user-agent
Теперь приступаем к самому парсеру
Python:
response = requests.get(f'https://www.instagram.com/zuck/?__a=1', headers=header).json() # С помощью requests делаем запрос get, обратите ВНИМАНИЕ что в конце стоит .json()
# Добавим print username'a
username = response['graphql']['user']['username'] # С помощью response мы получаем данные json ['username']
print(f"Username - {username}") # Ну и выводим
# Добавим print имени в профиле
name = response['graphql']['user']['full_name']
print(f"Name - {name}")
# Добавим print биографии если она есть у пользователя
biography = response['graphql']['user']['biography']
if biography == "": # Если в биографии ничего не написано
print("Biography - " + Fore.RED + "User haven't biography")
else: # Если в биографии есть какой либо текст
print(f"Biography - {biography}")
# Добавим print подписчиков
followers = response['graphql']['user']['edge_followed_by']['count']
followers = str(followers)
print("Followers - " + followers)
# Добавим print подписки
following = response['graphql']['user']['edge_follow']['count']
following = str(following)
print("Following - " + following)
# Добавляем print приватный аккаунт или же нет
private_account = response['graphql']['user']['is_private']
if private_account == True: # Тут думаю и так всем понятно
print("Account - " + Fore.RED + "Private Account")
else:
print("Account - " + Fore.LIGHTGREEN_EX + "Open Account")
# Добавляем print верифицированный ли аккаунт?
verified_account = response['graphql']['user']['is_verified']
if verified_account == True: # Тут думаю тоже
print("Account - " + Fore.LIGHTCYAN_EX + "Verified")
else:
print("Account - " + Fore.RED + "Not Verified")
print("\n")
if __name__ == "__main__":
main()
А кому лень было всё читать и он зашёл просто пастить то вот
Python:
import requests
import fake_useragent
from colorama import init
from colorama import Fore
def main():
init(autoreset=True)
user = fake_useragent.UserAgent().random
header = {'user-agent': user}
nickname = input("Enter nickname - ")
response = requests.get(f'https://www.instagram.com/{nickname}/?__a=1', headers=header).json()
print("\n")
account_url = f'https://www.instagram.com/{nickname}'
print(account_url)
username = response['graphql']['user']['username']
print(f"Username - {username}")
name = response['graphql']['user']['full_name']
print(f"Name - {name}")
biography = response['graphql']['user']['biography']
if biography == "":
print("Biography - " + Fore.RED + "User haven't biography")
else:
print(f"Biography - {biography}")
followers = response['graphql']['user']['edge_followed_by']['count']
followers = str(followers)
print("Followers - " + followers)
following = response['graphql']['user']['edge_follow']['count']
following = str(following)
print("Following - " + following)
private_account = response['graphql']['user']['is_private']
if private_account == True:
print("Account - " + Fore.RED + "Private Account")
else:
print("Account - " + Fore.LIGHTGREEN_EX + "Open Account")
verified_account = response['graphql']['user']['is_verified']
if verified_account == True:
print("Account - " + Fore.LIGHTCYAN_EX + "Verified")
else:
print("Account - " + Fore.RED + "Not Verified")
print("\n")
if __name__ == "__main__":
main()
автор: coder2000