Извлечение информации о пользователе из Instagram, если за ним следит зритель - PullRequest
0 голосов
/ 26 января 2020

Я создаю небольшой инструмент, использующий Python, который извлекает информацию о пользователях из профилей в Instagram. До сих пор я могу получать всю информацию, средства массовой информации, комментарии, лайки (..) и все это после успешного входа в систему. Единственная часть, которую я не могу получить, - это часть, где Instagram window.sharedData сообщает нам, следует ли пользователь за пользователем или нет. В этой части все, что я получаю, это:

window._sharedData = {"config":{"csrf_token":"********************","viewer":null,"viewerId":null}

Когда я открываю браузер, программа просмотра должна заполняться пользователем, которого я использую для доступа к этой странице. Причина, по которой я ищу эту информацию, заключается в том, что мне нужно знать, сопровождается ли пользователь моим пользователем, прежде чем пытаться получить доступ к данным, особенно если этот пользователь является частным. И так как мой зритель имеет значение NULL, Instagram всегда возвращает «follow_by_viewer» как False, даже если я следую за ним.

PS: все остальные запросы работают (СМИ, лайки, комментарии, логин, подписчики)

Вот мой код информации о пользователе Grab:

response = requests.get(BASE_URL + username, headers=generate_headers(cookie))
    json_match = re.search(r'window\._sharedData = (.*);</script>', response.text)
    result = json.loads(json_match.group(1))['entry_data']['ProfilePage'][0]['graphql']['user']

    try:
        return {
            'user_id': result.get("id"),
            'username': username,
            'fullname': result.get("full_name"),
        }
    except:
        print("Unexpected error")
        return None

Для возобновления, похоже, что только для этого запроса, Instagram считает, что я не вошел в систему, в то время как для всех остальных, я!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...