Контакты

Наибольший вклад в теги

Все теги (11)

Лучшие ответы пользователя

Все ответы (7)
  • Как правильно собрать данные из Instagram API и Foursquare API?

    1. Обходить ограничения на один токен => нужно больше токенов, либо морочишься и регаешь кучу аккаунтов в данных соцсетях, либо вооружаешься поисковиками и ищешь на сайтах аля pastebin, ссылка на поисковик по 100+ таких ресурсов тык тык, там идешь в раздел Documents -> Custom Pastebins (Meta search). Цель - найти исходники чьи то, из которых забыли убрать токены, я однажды около 10 так насобирал, но заранее напиши себе небольшой скрипт чекер токенов, например такой:
    from requests import get
    ig_api_key = 'YOUR INSTAGRAM API KEY'
    answer = get('https://api.instagram.com/v1/users/search?q=facebook' + '&access_token=' + ig_api_key, verify=True).json()
    print answer

    Там соответственно подставляешь токен найденный и смотришь ответ, если все нормально, значит токен рабочий.
    НО: уверен, что в ToS Instagram API такое делать запрещено, поэтому на свой страх и риск.

    2. Как и сказано выше, кури доки и читай про Pagination, вот для примера два метода, которые вытаскивают данные о фотках пользователя (осторожно быдлокод, но для примера хватит).
    def get_data_from_json(json_text):
        answer = list()
        for element in json_text['data']:
            answer.append(element)
        return answer
    
    
    def get_media(username):
        answer = list()
        user_id = get_user_id(username)
        data = get('https://api.instagram.com/v1/users/' + user_id + '/media/recent/?access_token=' +\
                   ig_api_key, verify=True).json()
        try:
            if data[u'meta'][u'code'] == 200:
                if data[u'pagination'] == {}:
                    answer += get_data_from_json(data)
                else:
                    answer += get_data_from_json(data)
                    while True:
                        if data[u'pagination'] != {}:
                            data = get(data[u'pagination'][u'next_url'], verify=True).json()
                            answer += get_data_from_json(data)
                        else:
                            break
            else:
                answer = list()
        except:
            answer = list()
        return answer

    3. Теперь про город, для этого тебе нужно знать его координаты (либо можешь сам это автоматизировать через Google Maps API, там будет адрес -> координаты), далее придумываешь алгоритм по которому из двух координат lat\long будет генериться множество точек для последующего запроса к Instagram API, конкретнее, обратись к вот этому методу, он дает возможность получить данные по координатом на дистанции от 1 до 5 км, значит просто нужно покрыть город кругами с радиусом в 5 км, статья с хабра с похожей тематикой и кодом на питоне вот здесь. Дерзай и удачи!
    Ответ написан
    4 комментария
  • Как определить что у пользователя instagram нет фото профиля?

    Фото профиля не быть не может, если пользователь не установил его самостоятельно, то стоит дефолтный головастик, никаких флагов в ответе метода GET/users/user-id нет, поэтому самое простое: найти профиль с дефолтным фото, взять от него хэш и всякий раз сравнивать известный хэш с хэшом фото пользователя
    Ответ написан
    2 комментария
  • Как пролистать страницу сайта Instagram до конца?

    Открой консоль разработчика (Ctrl + Shift + i в хроме) и посмотри на вкладке Network какие запросы отправляет сайт, когда ты жмешь кнопку "Загрузить еще", а отправляет он
    q=ig_hashtag(HASHTAG)+%7B+media.after(J0HV59zAwAAAF0HV59y8AAAAFkYA%2C+11)+%7B%0A++count%2C%0A++nodes+%7B%0A++++caption%2C%0A++++code%2C%0A++++comments+%7B%0A++++++count%0A++++%7D%2C%0A++++date%2C%0A++++dimensions+%7B%0A++++++height%2C%0A++++++width%0A++++%7D%2C%0A++++display_src%2C%0A++++id%2C%0A++++is_video%2C%0A++++likes+%7B%0A++++++count%0A++++%7D%2C%0A++++owner+%7B%0A++++++id%0A++++%7D%2C%0A++++thumbnail_src%2C%0A++++video_views%0A++%7D%2C%0A++page_info%0A%7D%0A+%7D&ref=tags%3A%3Ashow
    на хост https://www.instagram.com/query/, параметр стоящий в media.after, подозреваю, айдишник самого позднего фото в текущей выборке
    Ответ написан
    2 комментария

Лучшие вопросы пользователя

Все вопросы (1)