Содержание

Как получить id другого человека и как узнать id группы ВКонтакте

Как получить id другого человека и как узнать id группы ВКонтакте

Id, или уникальный номер – это номер, который присваивается в социальной сети ВКонтакте каждой личной странице, паблику или группе. Это своеобразный виртуальный номер паспорта, набрав который в строке браузера, вы можете сразу попасть на нужную страницу.

Долгое время ответ на вопрос, как узнать id группы ВКонтакте, страницы друга или вообще любого человека, был предельно прост. Уникальный номер высвечивался в строке браузера сам по себе, стоило только зайти на страничку. Но с тех пор, как у пользователей ВКонтакте появилась возможность записать в своем айди вместо цифр ник, задача несколько усложнилась. Однако не настолько, чтобы ее можно было назвать трудноразрешимой.

Получить айди другого человека

В данном случае неважно, добавлен ли этот пользователь к вам в друзья или нет. Более того, не является препятствием к узнаванию id и закрытая страница.

  1. Зайдите на страницу, айди который желаете узнать. Под фотографией вы увидите кнопку «Отправить сообщение». Наведя на отправку сообщений курсор, щелкните правой кнопкой мышки. Перед вами появится список возможных действий.
  2. Выберите «Копировать адрес», нажмите на строку – она появится в буфере обмена. Теперь вы можете вставить ее, куда хотите – в адресную строку браузера или еще куда-то. Вид ссылки должен быть следующий:

http://vkontakte.ru/mail.php?act=write&to=6674084

Как вы уже, вероятно, догадались, последние цифры и являются искомым уникальным номером.

Как узнать id группы ВКонтакте

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

Для этого есть даже два способа:

  1. На странице группы найдите какую-либо ссылку на другую страницу ВКонтакте.
  2. Либо щёлкните правой кнопкой на картинку, также размещенную на странице группы. Из списка действий выберите «Копировать». У вас появится ссылка типа:

http://cs9573.userapi.com/u85253927/-14/x_b2d46a8d.jpg

В нашем случае 85253927 – это и есть айди группы.

Как узнать id всех участников группы ВКонтакте

Для этого воспользуйтесь следующей ссылкой:

http://vkontakte.ru/search?c%5Bgroup%5D=3426945&c%5Bsection%5D=people

На месте цифр после знака «равно» нужно вставить айди группы, и перед вами появится список уникальных адресов всех участников сообщества.

 

Поделитесь информацией с друзьями Вконтакте с помощью специальной кнопки

Советуем также обратить внимание:

  • Крепко ли закрыты вконтакте закрытые альбомы?
  • Как ВКонтакте удалить из закладок человека или группу
  • Как просмотреть закрытые альбомы ВКонтакте
  • Данные пользователей ВКонтакте
  • Как Вконтакте узнать свой пароль и чужой?
  • Как вбив id узнать список всех друзей человека ВК?

    Перед вам вопрос: как, вбив id, узнать список всех друзей человека ВК? Тогда вам поможет наш Сервис поиска целевой аудитории и его парсеры (специальные инструменты) помогут вам узнать все искомые данные ВКонтакте.

    Пройдите по ссылочке, расположенной ниже, чтобы узнать друзей человека ВК и вывести из список.
    Загрузите айди интересующего вас человека в поле поискового запроса, оставьте отметку только возле парсинга друзей (убрав сбор подписчиков), укажите формат для вывода списка друзей этого человека и запускайте парсер в работу.

    Парсер выведет список всех друзей указанного вами человека ВКонтакте, таким образом вы сможете по ID узнать список всех друзей человека ВК.


    Запустить скрипт для решения вопроса

    Полезный небольшой видеоурок по этой теме

    О сервисе поиска аудитории ВКонтакте

    vk.barkov.net — это универсальный набор инструментов, который собирает самые разнообразные данные из ВКонтакте в удобном виде.

    Каждый инструмент (скрипт) решает свою задачу:

    Например, есть скрипт для получения списка всех подписчиков группы.
    А вот тут лежит скрипт для сбора списка всех людей, поставивших лайк или сделавших репост к конкретному посту на стене или к любым постам на стене.
    Ещё есть скрипт для получения списка аккаунтов в других соцсетях подписчиков группы ВКонтакте.

    И таких скриптов уже более 200. Все они перечислены в меню слева. И мы регулярно добавляем новые скрипты по запросам пользователей.


    Запустить скрипт для решения вопроса

    Полезные ответы на вопросы по этому же функционалу для сбора данных из ВКонтакте

    Отфильтровать друзей моих друзей ВКонтакте и найти тех, которые из них живут в Ростове

    Парсинг друзей по айди или ссылкам ВК

    Узнать список тех, кто, когда либо был у меня в друзьях ВК, но сейчас уже нет

    Кто из друзей одного аккаунта состоит в сообществе ВК?

    Вычислить всех неактивных людей на моей страничке ВК

    Как сделать отбор друзей пользователя ВКонтакте?

    Парсинг подписчиков профиля человека ВКонтакте

    Узнать группы у моих друзей/подписчиков ВК

    Узнать скрытых друзей в ВК

    Выгрузить полную информацию о друзьях пользователей ВКонтакте

    Как спарсить друзей юзера ВК, у которого 600 000 друзей?

    Собрать список друзей пользователей ВК

    Парсинг друзей по спискам ВК

    Найти общих друзей вк

    Как узнать пассивную аудиторию на странице ВКонтакте?

    Как собрать ID друзей с разных аккаунтов ВКонтакте

    Есть список ID вконтакте надо выгрузить полную информацию об их друзьях

    Как собрать список друзей определенных пользователей ВКонтакте?

    Проанализировать определенную группу и конкретного человека ВКонтакте

    Получить ID последних подписчиков ВКонтакте

    PYMK в ВК: ОД через EGO-NETS.

    Возможность добавлять пользователей в друзья есть… | by VK Team

    Возможность добавлять пользователей в друзья — одна из важнейших механик любой социальной сети. Подавляющее большинство взаимодействий происходит между пользователями, которые дружат друг с другом. Они видят и комментируют сообщения друг друга в своих новостных лентах и ​​заходят в свои списки друзей, чтобы начать чаты. Вот почему так важен рост социального графа.

    Меня зовут Евгений Замятин. Я являюсь частью команды Core ML в ВКонтакте. Хочу рассказать вам о том, как работает наша рекомендательная система, чтобы сблизить пользователей крупнейшей социальной сети рунета.

    Современные рекомендательные системы часто состоят из двух уровней, и наша система не исключение.

    Первый уровень — поисковая часть системы. Его задача — искать среди всего множества пользователей наиболее релевантных кандидатов. Этот процесс нужно сделать быстро. Обычно эти задачи решаются с помощью простых в использовании моделей, таких как матричные факторизации или эвристики, основанные на количестве общих друзей. Затем кандидаты, полученные на первом уровне, отправляются на второй уровень, где на модель больше не распространяются строгие ограничения скорости. Его основная задача — обеспечить максимальную точность предсказания и сформировать список, который увидит пользователь. В этой статье мы рассмотрим только первый этап — поиск.

    Прежде всего сформулируем постановку задачи. Для каждого пользователя нам нужно найти k кандидатов, которых они с наибольшей вероятностью добавят в друзья. Метрика, на которой мы сосредоточимся, — это отзыв@k. Для этой задачи идеально подходит, так как нас интересует не порядок кандидатов, а важна их релевантность.

    Давайте рассмотрим базовые, но до сих пор актуальные решения, придуманные десятки лет назад. Первый метод, который приходит на ум, самый логичный: эвристика, основанная на количестве общих друзей. Для каждого пользователя выбираются кандидаты с наибольшим значением. Этот подход прост в реализации и обеспечивает достойное качество результатов.

    Еще одним важным методом рекомендации друзей является Adamic/Adar. Он также основан на анализе общих друзей, хотя и модифицированном: авторы предлагают учитывать количество друзей, которые есть у «общего» друга. Чем больше это значение, тем меньше релевантной информации оно несет.

    Недавно наши коллеги из Google+ предложили новый подход к рекомендациям друзей, основанный на эго-сетях. В своей статье авторы предложили кластеризовать эго-сети пользователей. В качестве меры релевантности они использовали значение 9.0017 показатель дружбы , который представляет собой количество общих друзей в одном кластере эго-сетей.

    Помимо методов, основанных на анализе общих друзей, довольно распространены рекомендации на основе встраивания. В Лаборатории искусственного интеллекта ВК МФТИ мы провели исследование, в котором сравнили эффективность разных подходов к задаче предсказания дружбы в ВК. Результаты совпали с нашим опытом. Решения, основанные на встраивании графов, нам не подходят. Помня об этом, мы начали разрабатывать систему отбора кандидатов на основе анализа общих друзей.

    Общая схема нашего метода расширяет идеи числа общих друзей и Адамика/Адара. Конечная мера релевантности E(u, v) , с помощью которой мы будем отбирать кандидатов, также раскладывается на сумму общих друзей u и v . Ключевое отличие заключается в форме слагаемого под суммой. В нашем случае это мера ez_c(u, v) .

    Сначала попробуем понять «физический» смысл меры ez_c(u, v) . Представьте, что мы взяли пользователя c и спросили его: «Насколько вероятно, что два ваших друга, и и и , станут друзьями?» Чем больше информации этот пользователь учитывает для своего прогноза, тем точнее он будет. Например, если c может вспомнить только количество своих друзей, его рассуждения могут выглядеть так: «Чем больше у меня друзей, тем меньше вероятность того, что два случайных человека узнают друг друга». Тогда оценка «вероятности» дружбы u и v (с точки зрения c ) могут выглядеть как 1/log(n) , где n — количество друзей. Вот как работает Адамик/Адар. Но что, если c учитывает больше контекста?

    Прежде чем ответить на этот вопрос, давайте разберемся, почему ez_c(u, v) важно определить через пользователя c . Дело в том, что в таком виде очень удобно решать задачу распределённо. Представьте, что мы разослали всем пользователям платформы анкету с просьбой оценить вероятность того, что каждая пара их друзей дружит друг с другом. Получив все ответы, мы можем подставить значения в формулу Е(и, v) . Вот как выглядит вычисление E(u, v) с помощью MapReduce:

    • Подготовка . Для каждого c выделен контекст, который он будет учитывать для проведения оценок. Например, в Adamic/Adar это будет просто список друзей.
    • Карта . «Спросите» каждого c , что они думают о возможности дружбы для каждой пары своих друзей. Мы вычисляем ez_c(u, v) и сохраняем его как (u, v) ez_c(u, v) для всех u , v в N(c) . В случае Адамика/Адара: (u, v) 1 / log|N(c)| .
    • Уменьшить . Для каждой пары (u, v) суммируем все соответствующие значения. Их будет ровно столько, сколько общих друзей у и и и .

    Таким образом, мы получаем все ненулевые значения E(u, v) . Примечание: необходимое условие для E(u, v) > 0 есть наличие хотя бы одного общего друга u и v .

    Контекст пользователя c в случае меры ez_c будет тот же список друзей, но дополненный информацией об отношениях внутри этого списка. Научный термин для такой структуры — «эго-сеть». Более формально эго-сеть вершины x является подграфом исходного графа, все вершины которого являются соседями вершины x 9. 0018 и x , ребра которого являются всеми ребрами исходного графа между этими вершинами.

    Основная идея показателя ez_c заключается в том, что его можно сделать обучаемым. Для каждого пользователя с , его эго-сети и всех пар пользователей u, v внутри нее мы можем насчитать множество различных признаков. Например:

    • количество общих друзей u и v внутри эго-графа c
    • количество общих друзей u и c
    • интенсивность взаимодействия между v и c
    • время, прошедшее с момента последней дружбы между u и кем-то из эго-графа c
    • плотность графа эго c
    • и другие

    Таким образом, мы получим набор данных с функциями. Но нам также нужны метки для обучения. Рассмотрим набор данных, построенный из состояния графа в момент времени T . Тогда в качестве положительных примеров возьмем те пары пользователей, которые не были друзьями на момент T , но подружились с T + △T . И как минус, все остальные пары пользователей, которые не являются друзьями. Примечание: поскольку мы решаем задачу прогнозирования новых дружеских отношений, те пары пользователей, которые уже являются друзьями в момент времени T , не нужно учитывать ни в обучении, ни на практике.

    В итоге получаем следующий набор данных:

    • для каждой пары пользователей u и v , а так же их общий друг c , характеристики рассчитываются внутри ego-net c
    • пара пользователей u и v встречается в наборе данных ровно столько раз, сколько у них есть общие друзья
    • все пары пользователей в наборе данных не друзья во времени T
    • для каждой пары u и v метка равна 1, если они стали друзьями в течение времени △T начиная с T и 0 иначе

    Мы будем использовать этот набор данных для обучения нашей меры ez_c . В качестве модели мы выбрали градиентный бустинг с функцией попарных потерь, где ID группы — user u .

    По существу, мера ez_c (u, v) определяется как предсказание модели, описанной выше. Но есть один нюанс: при парном обучении распределение предсказаний модели похоже на нормальное. Следовательно, если мы возьмем «сырой» прогноз как определение меры ez_c(u, v) , у нас может возникнуть ситуация, когда мы оштрафуем окончательную меру E(u, v) для общих друзей, поскольку значения прогнозов отрицательны. Это не совсем понятно, так как мы не хотим, чтобы мера E(u, v) уменьшалась с увеличением числа общих друзей. Итак, в дополнение к предсказанию модели мы решили взять показатель степени:

    . Этот подход хорошо работает на небольших графиках. Но чтобы применить его к реальным данным, нам нужно выполнить еще одно действие. Суть проблемы такова: мы не можем рассчитать признаки и применить модель для каждой пары пользователей всех эго-сетей, так как это заняло бы слишком много времени. Чтобы решить эту проблему, мы придумали специальный трюк. Представим, что наше повышение градиента обучено так, что каждое дерево использует атрибуты только одного пользователя: либо и или и . Тогда мы могли бы разделить весь ансамбль на две группы: к группе A мы бы отнесли деревья, которые используют только атрибуты пользователя u , к B , пользователя v . Предсказание такой модели может быть представлено как:

    С помощью такой модели мы могли бы быстрее получать предсказания для всех пар пользователей одной и той же эго-сети. Все, что нам нужно сделать, это применить модели A и B для каждого пользователя, а затем сложить прогнозы, соответствующие парам. Таким образом, для эго-сети из n вершин мы могли бы уменьшить количество применений модели с O(n²) от до O(n) .

    Но как получить модель, в которой каждое дерево зависит только от одного пользователя? Вот как:

    1. Исключите из набора данных все признаки, которые одновременно зависят как от u , так и от v . Например, атрибут «количество общих друзей х и х внутри эго-графа с» придется удалить.
    2. Модель поезда A , использующая только функции, основанные на u , c и эго-сеть c .
    3. Для обучения модели B оставьте только признаки, основанные на v , c и ego-net c . Передайте прогнозы модели A в качестве базовых прогнозов.

    Если мы объединим модели A и B , мы получим то, что нам нужно: первая часть использует особенности u , вторая использует особенности v . Набор моделей имеет смысл, потому что B был обучен «исправлять» Предсказания A . Такая оптимизация позволяет ускорить расчеты в сотни раз и делает подход применимым на практике. Окончательный результат ez_c(u, v) и E(u, v) выглядит следующим образом:

    Обратите внимание, что E(u, v) можно представить как:

    Эта формула является скалярным произведением разреженных векторов, индексы которых являются пользователями, а значения — показателями прогнозов модели. Ненулевые значения здесь только для друзей u — по сути, это просто списки друзей с дополнительными значениями.

    При построении рекомендаций мы уже рассчитали прогнозы модели для всех существующих дружеских отношений. Поэтому для каждого пользователя мы можем собрать векторы и поместить их в доступное онлайн-хранилище ключей-значений. После этого мы можем получить значение E(u, v) для любой пары пользователей онлайн с помощью простой операции умножения векторов. Это позволяет использовать E(u, v) в качестве легкой функции релевантности в высоконагруженных частях системы или в качестве дополнительного признака итоговой модели ранжирования.

    В результате система EGOML позволяет:

    1. Подбирать кандидатов для каждого пользователя офлайн в распределенных настройках. Асимптотическая сложность оптимизированного алгоритма составляет O(|E|) вычислений признаков и модельных приложений, где |E| — количество подключений в графе.
    2. Быстро рассчитайте показатель релевантности E(u, v) для любой пары пользователей онлайн. Асимптотическая сложность операции составляет O(|N(u)| + |N(v)|) .
    3. Улучшить качество рекомендаций, расширив количество учитываемых графов (дружба, скрытые рекомендации, отправленные сообщения и другие графы) и добавив к ребрам и вершинам различные метки, такие как интенсивность взаимодействий на ребре, дата формирование края, город пользователя или место его работы или учебы.

    В ВК мы перешли от метода отбора кандидатов Адамика/Адара к системе EGOML и ввели функции на основе меры E(u, v) в модель. Это позволило нам увеличить количество подтвержденных френдов на всей платформе на несколько десятков процентов.

    Выражаю благодарность руководителю команды Core ML Андрею Якушеву за помощь в разработке метода и подготовке статьи, а также всей команде Core ML за поддержку на разных этапах работы.

    вк-запросов

    vk. com — крупнейшая социальная сеть в России.

    Требования

    • питон (2.7, 3.4, 3.5, 3.6)

    ПРИМЕЧАНИЕ. Python 2.7 больше не будет поддерживаться, начиная с версии 2.0.0

    Установить

     pip install vk-запросы
     

    Использование и функции

    Простые запросы

     # Возвращает список пользователей
    api.users.get(users_ids=1)
    # Возвращает список друзей пользователя с дополнительными полями
    api.friends.get(user_id=1, fields=['псевдоним', 'город'])
    # Возвращает список результатов из вашего пользовательского метода API
    api.execute.YourMethod(**method_params)
     

    Токен пользователя с логином и паролем

    Подходит для варианта использования, когда вы запускаете запросы из одного на серверной части из одной из ваших учетных записей

     импорт vk_requests
    API = vk_requests.create_api(app_id=123, логин='Пользователь', пароль='Пароль')
    api.users.get(user_ids=1)
    [{'first_name': 'Павел', 'last_name': 'Дуров', 'id': 1}]
     

    Использование токена службы

    Сервисный токен предпочтительнее, так как он не требует учетные данные и запросы oauth, но не все методы можно вызывать с сервисным токеном (например, выполнить нельзя)

     API = vk_requests. create_api(service_token="{YOUR_APP_SERVICE_TOKEN}")
    ...
     

    Дополнительная информация о сервисном токене.

    Использование маркера доступа клиента

    Например, когда вы получили токен на стороне клиента (неявный поток) и хотите запросить API на стороне сервера.

    Используйте параметр

    service_token , как в примере выше.

    Токен пользователя с client_secret (прямая авторизация)

    Доверенные приложения могут получать неограниченное количество access_token для доступа к API путем передачи идентификатора приложения, имени пользователя, пароля и client_secret — секретного ключа вашего приложения.

     API = vk_requests.create_api(app_id=123, логин='Пользователь', пароль='Пароль',
                                 client_secret="{ВАШЕ_ПРИЛОЖЕНИЕ_КЛИЕНТ_СЕКРЕТ}")
    ...
     

    Подробнее о прямой авторизации.

    Использование пользовательских параметров

    Область действия или версия API

    Просто пройдите прицел и/или api_version параметры вроде

     API = vk_requests.
    create_api(..., scope=['оффлайн', 'статус'], api_version='5.00') api.status.set(text='Привет, мир!')
    Параметры HTTP

    Чтобы переопределить параметры http запросов (например, параметры ssl), просто используйте http_params следующим образом:

     API = vk_requests.create_api(http_params={'timeout': 15, 'verify': False})
     
    Использование HTTP-прокси

    Чтобы использовать прокси-сервер, просто передайте его в http_params , например

     прокси = {
        'http': 'http://10.10.1.10:3128',
        'https': 'http://10.10.1.10:1080',
    }
    API = vk_requests.create_api(http_params={'прокси': прокси})
     

    Дополнительные сведения см. в документации по запросам

    .

    Включить ведение журнала

    Чтобы включить ведение журнала библиотеки в вашем проекте, вы должны сделать следующее:

     журнал импорта
    # Настраиваем базовую конфигурацию
    ведение журнала.basicConfig(
        уровень = logging.INFO,
        format='%(asctime)s %(имя уровня)s [%(имя)s] %(сообщение)s',
    )
    # Чтобы изменить уровень журнала для библиотечного регистратора
    logging. getLogger('vk-requests').setLevel(logging.DEBUG)
     

    Автоматическое разрешение конфликтов при получении доступа из необычного места

    Просто передайте свой номер телефона во время инициализации API. В случае проверки безопасности это будет обработано автоматически, иначе будет запрошен ввод консоли

     API = vk_requests.create_api(
        app_id=123, логин='Пользователь', пароль='Пароль', phone_number='+79111234567')
     

    Интерактивный сеанс

    Интерактивный сеанс позволяет управлять параметрами входа в систему во время выполнения.

    Полезно, если

    • Требуется аутентификация 2FA
    • Требуется CAPTCHA
    • Для тестирования

    Применение

     API = vk_requests.create_api (..., интерактивный = Истина)
     

    Если вы не передадите логин, пароль и app_id вам будет предложено подсказать его, т.е. имея этот

     API = vk_requests.create_api(app_id=XXX, логин='***', пароль='***', интерактивный=True)
     

    Вам будет предложено только аутентификация 2FA или капча код если требуется

    API потоковой передачи

    Streaming API позволяет подписаться на события из вк.

    ПРИМЕЧАНИЕ. Только для python 3.4 и более поздних версий

    Установить

     pip install vk-запросы [стриминг]
     

    Правила потоковой передачи

     из vk_requests.streaming импорт StreamingAPI
    streaming_api = StreamingAPI(service_token="{YOUR_SERVICE_TOKEN}")
    # Добавить новое правило
    streaming_api.add_rule (значение = 'my_keyword', тег = 'tag1')
    # Получить все правила
    правила = streaming_api.get_rules()
    # Удалить правило по тегу
    streaming_api.remove_rule (тег = 'тег1')
     

    Потребитель

    Streaming API предоставляет удобный интерфейс обработчика на основе сопрограммы (обратный вызов)

     асинхронный импорт
    из vk_requests импортировать StreamingAPI
    API = StreamingAPI(service_token="{YOUR_SERVICE_TOKEN}")
    поток = api.get_stream()
    @stream.consumer
    @asyncio.coroutine
    def handle_event (полезная нагрузка):
        печать (полезная нагрузка)
    если __name__ == '__main__':
        поток.потребить()
     

    Официальная документация API

    • https://vk.