Для получения полного доступа
зарегистрируйтесь.
RSS

Все сниппеты с тэгом «vk»



Gravatar image
jumper423
  • Репутация: 58
  • Сниппеты: 9
  • Ревизии: 2

Yii2 VK

Компонент для расширенной работы с ВК API в YII2. Загрузка изображений, распознавание капчи, постановка очередей и многое другое.

Сайт с подробным описанием yii2 api vk GitHub

Особенности

  • Задержка выполнения
  • Разделины post и get
  • Загрузка изображений
  • Добавление в очереди
  • Запись задач и выполнению их по cron-у
  • Интеграция с распознованием капчи
  • Запись в атрибуты token-а

Продолжение »

Сниппет,  F#

VK Friends Crawler

Gravatar image
Hedgehog
  • Репутация: 2
  • Сниппеты: 1
  • Ревизии: 0

Скрипт обхода ваших друзей в Вконтакте с целью узнать, знакомы ли ваши друзья (или друзья друзей) с определённой персоной. Параметры: yourProfileId и someGirlProfileId А дальше Have you met Ted?

#r "packages/FSharp.Data/lib/net40/FSharp.Data.dll"

open FSharp.Data
open FSharp.Data.JsonExtensions

let getFriends uId =
  let resp = Http.RequestString("https://api.vk.com/method/friends.get", query=["user_id",uId])
  match JsonValue.Parse resp with
  | JsonValue.Record [| "response", ids |] -> [ for v in ids -> v.AsInteger() ] | _ -> []
  
let rec bfs fringe visited result target =
  match fringe with
  | chain::newFringe ->
    if List.length chain > 3 then result
    elif Set.contains (List.head chain) visited then bfs newFringe visited result target
    else
      let friends = getFriends (string (List.head chain)) |> List.map (fun f -> f::chain)
      let res = match List.tryFind (List.head >> ((=)target)) friends with | Some f -> f::result | _ -> result
      if res <> result then printf "%A\n" (List.head res) else ()
      bfs (newFringe @ friends) (Set.add (List.head chain) visited) res target
  | [] -> result

bfs [[yourProfileId]] Set.empty [] someGirlProfileId