simplejson.errors.JSONDecodeError: ожидаемое значение: строка 1, столбец 1 (символ 0) при поиске JSON в Instagram

#python #json #python-3.x #instagram #instagram-api

#python #json #python-3.x #Instagram #instagram-api

Вопрос:

Я пытаюсь создать приложение на PYTHON, которое получает информацию о чьей-то странице Instagram в формате JSON, а затем возвращает ее в мою программу в формате JSON.

Я получаю эту ошибку: simplejson.errors.JSONDecodeError: ожидаемое значение: строка 1 столбец 1 (символ 0) Я искал справку, но ничего не смог найти.

Может ли кто-нибудь помочь мне и отредактировать мой код, чтобы исправить эту ошибку?

Я считаю, что при запуске моего кода моей программе будет предложено перейти на «страницу входа в Instagram». Потому что вы не можете получить доступ к API instagram без входа в систему.

Есть ли какой-либо способ получить my requests.get() для входа в instagram и получения JSON для чьей-либо страницы в Instagram?

Пожалуйста, заставьте мой код работать.. Я пытаюсь получить информацию со страницы пользователя в Instagram в формате JSON (). например, = ‘https://www.instagram.com /{ИМЯ ПОЛЬЗОВАТЕЛЯ}/?__a=1’.

ОШИБКА:

 Traceback (most recent call last):
  File "C:UsersdiscoPycharmProjectsIgOSINTmain.py", line 13, in <module>
    json_found_for_site = request_for_site.json()['graphql']['user']
  File "C:UsersdiscoAppDataLocalProgramsPythonPython39libsite-packagesrequestsmodels.py", line 910, in json
    return complexjson.loads(self.text, **kwargs)
  File "C:UsersdiscoAppDataLocalProgramsPythonPython39libsite-packagessimplejson__init__.py", line 525, in loads
    return _default_decoder.decode(s)
  File "C:UsersdiscoAppDataLocalProgramsPythonPython39libsite-packagessimplejsondecoder.py", line 370, in decode
    obj, end = self.raw_decode(s)
  File "C:UsersdiscoAppDataLocalProgramsPythonPython39libsite-packagessimplejsondecoder.py", line 400, in raw_decode
    return self.scan_once(s, idx=_w(s, idx).end())
simplejson.errors.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
 

МОЙ КОД НА PYTHON:

 import requests
from termcolor import colored

headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36'}

target = str(input(colored('[ ] Enter Target Username: ', 'blue')))

request_for_site = requests.get('https://www.instagram.com/'   target   '/?__a=1', headers=headers)
print(request_for_site.text)

if request_for_site.status_code == 200:
    print(colored('[   ] TARGET FOUND !', 'green'))
    json_found_for_site = request_for_site.json()['graphql']['user']
    print(colored(
        '''
        [1] USERNAME    
        [2] FULL NAME
        [3] BIO
        [4] HIGHLIGHTS
        [5] PHONE NUMBER
        [6] IS ACCOUNT PRIVATE OR PUBLIC [recommended FIRST]
        [7] Profile Picture
        [8] Followers
        [9] Followed
        [10] ID
        [11] IS VERIFIED
        ''', 'red'
    ))
    tool_option = str(input(colored('[ ] ENTER NUMBER OPTION TO FIND: ', 'blue')))
    if tool_option == '1':
        print(json_found_for_site['username'])
    elif tool_option == '2':
        print(json_found_for_site['full_name'])



 

Кто-нибудь, пожалуйста, помогите мне, кто-нибудь, пожалуйста, отредактируйте мой код, чтобы он работал.

ИЗОБРАЖЕНИЕ ВСЕГО JSON / ТЕКСТА, КОТОРЫЙ МНЕ НУЖЕН В МОЕЙ ПРОГРАММЕ В КАЧЕСТВЕ ПЕРЕМЕННОЙ

Ответ №1:

Вы не можете декодировать свой ответ в JSON, потому что вы не делаете запрос API, вы просто загружаете страницу, как если бы вы были браузером. Формат запроса пользователя:

ПОЛУЧАЕМ https://graph.instagram.com /{api-версия}/{идентификатор пользователя}?поля={поля}amp;access_token={токен доступа}

Вам нужно заполнить пробелы:

  • Версия API
  • Идентификатор пользователя
  • Полей
  • Токен доступа

Комментарии:

1. Можете ли вы привести пример?