興味深い VKontakte グループを見つける方法。 VKontakte コミュニティおよびグループの検索とは何ですか?

19.04.2024

先日、私たちは興味深いことを成し遂げることができました。 加入者数が 5,000 から 10,000 (~100,000 グループ) のすべての VKontakte グループについて、エッジの重みがグループの視聴者の交差と等しい完全なグラフが構築されました。


まず、このグラフは美しく見えます。

次に、このツールを使用すると、特定のトピックのグループをすばやく選択できます。 たとえば、編み物に関するグループを見つける必要があります。 「編み物」というキーワードを使って、適切なグループを 1 つ見つけます。 編み物 -オンライン編み物-、 例えば。 関連付けられているグループが表示されます。

そして、飽きるか、新しい名前が出なくなるまで繰り返します。

編み物。 この世界ではすべてがつながっています...:
8.88% ヤーンコーポレーション
3.06% Mommy's チャンネル - クリエイティブなお母さん向け (CROCHETS!)
2.58%
2.30% 編み物 -オンライン編み物-
2.14% 毛糸オンラインストア「AZHUR」
1.94%
1.85% 毛糸店 - あなたの糸 ღ
1.76%
1.72% オープンワークの世界:愛でつながる!
1.55%

「マダム・ヴィャザルキナ」糸(裁縫用品):
2.49%
2.37% ヤーンコーポレーション
1.42% 毛糸店 Eesti lõng (カウニ、カウニ)
1.39% カウニ糸はエストニアの伝説です。 編み物。
1.32% ブレスレットを編むための安い毛糸。
1.26% 毛糸と手芸の店KUDEL
1.24% ニット帽など。
1.21% 趣味と家庭 | 針仕事
1.18% 毛糸オンラインストア「AZHUR」
1.15% 糸スパゲッティ スパゲッティ

「編み物」、「毛糸」、「手工芸品」、「かぎ針編み」などのキーワードを賢く選択して検索すると、同様の結果が得られます。 しかし、それらを思いつくのは必ずしも簡単ではありません。

このようなグラフを構築するために、いくつかの非自明な技術的解決策が使用されましたが、それについてお話したいと思います。

特定の規模のグループの完全なリストを取得するには、優れた Web サイト allsocial.ru をダウンロードしました。 このデータをどうやって収集しているのだろうか? すべてのインデックスを調べてみましょう。 vk.com/club1 , vk.com/club2、...? 加入者数が 5,000 人から 10,000 人の中規模のグループのみが採用されました。その理由は 2 つあります。MDK のような巨大な大衆を盛り上げることはできませんが、さらに重要なのは、そのようなグループのメンバーシップには特別なシグナルが含まれていないためです。世界のあらゆるものとつながっています。

VKontakte API でグループ サブスクライバーのリストを取得するには、特別なメソッドがあります。 ただし、一度に 1000 ユーザーを受信できるのは 1 秒あたり 3 回だけです。 また、約 10 億人のユーザーをアップグレードする必要がありましたが、これは膨大な数です。 VK がすべてのリクエストに即座に応答する場合、3 ~ 4 日待たなければならないことがわかりました。 これは通常は許容できることですが、ドキュメント内の次の注記に混乱しました。

呼び出し頻度の制限に加えて、同じ種類の呼び出し方法にも量的制限があります。 明らかな理由により、正確な制限に関する情報は提供しません。

私たちの場合、1,000,000 件のリクエストを行う必要があるため、この発言は面倒です。 ここで最もクールな方法が役に立ちます 実行する。 彼に対するVKのメンバーに大きな敬意を表します。 他にもこのようなものを持っている人はいるでしょうか? 重要なのは、execute を通じて特別な VKScript 言語のプログラムを Contact に送信し、そこにいくつかの API リクエストと、場合によってはロジックを含めることができるということです。 私の場合、プログラムは次のようになりました。

戻り値 [ API.groups.getMembers(id=1, offset=0, count=1000), API.groups.getMembers(id=1, offset=1000, count=1000), API.groups.getMembers(id=1, offset=2000, count=1000)、API.groups.getMembers(id=1, offset=3000, count=1000)、API.groups.getMembers(id=1, offset=4000, count=1000)、API.groups .getMembers(id=1, offset=5000, count=1000), ... ];
プログラム内で API を呼び出すのは 25 回までです。 つまり、リクエスト数は 40,000 件に減り、理論的には禁止を回避できます。 このようなリクエストはそれぞれ即座に完了するのではなく、約 5 ~ 6 秒かかるため、それでも待たなければなりませんでした。 はい、複数のスレッドでダウンロードを開始することは可能ですが、それは恐ろしいことです。 2 日半後、すべてがダウンロードされ、ディスク上の約 10 GB を占有しました。

ここで問題が生じます。これらの 10 GB を RAM にどのように詰め込むか、そして 100,000 グループの視聴者のペアごとの交差を計算する方法です。 役立つのは、各ユーザーが通常、少数のグループのメンバーであるという事実です (ユーザーの 99% が 15 未満のグループのメンバーである)。 各ユーザーが交差点に対してどのような貢献をしたかを書き留めて、これらの貢献を合計することができます。 たとえば、A と B という 2 人のユーザーがいて、3 つのグループ 1、2、3 があるとします。A は 3 つすべてに属し、B は 1 と 3 のみに属します。A は 3 つの交差に寄与します: (1, 2)、 (1, 3) と (2, 3)、B - 1 つにします: (1, 3)。 これを合計すると、1 と 3 は 2 人のユーザーによって交差し、残りのグループは 1 人によって交差することがわかります。 技術的に 15 グループ以上のユーザーを無視する場合、約 5 億個の交差を書き出す必要があります。これは、100,000 * 100,000 個の交差を数える必要がある正面から解決する場合よりもはるかに優れています。

素晴らしい、残っている唯一の問題は RAM です。 幸いなことに、説明したアルゴリズムはマップ リデュース パラダイムによく適合するため、50 行の nano-hadup が作成され、計算は次のようになります。グループとそれに属するユーザーを 2 つの列に書き出します。

グループユーザー 3953835 10 2065169 100001643 2112714 100001643 ...
結果は約 9GB のファイルになります。2 列目の Unix ソートを使用してファイルをソートし、Pavel Durov がどこにあるかを確認します。
グループユーザー 2226515 1 37110020 1 38354466 1 43453499 1 60140141 1 60615047 1 64980878 1 1019652 10 ...
ファイルを読み取り、ストリームを 2 番目の列でグループ化し、ユーザー グループのリストのみをメモリに保持します。グループが 15 未満の場合は、一致するすべてを別のファイルに書き出します。

ソースターゲット 10000 10027193 9980615 9997141 9974 9976553 ...
しきい値が正しく選択されているため、ファイルはそれほど大きくありません (最大 9GB)。 2 つの列で並べ替えます。
ソースターゲット 10000 100000 10000 100000 10000 10009982 10000 100100 10000 100100 10000 10019194 10000 10019194 10000 1002 10000 1002 0000 1002 ...
次に、ファイルが読み取られて 2 つの列にグループ化され、交差がすぐに計算されます。 たとえば、グループ 10000 と 100000 には 2 人のユーザーがいます。 これはすぐに言えます。メモリに何も保存する必要はありません。

VKontakte でコミュニティ (グループまたはパブリック) を作成しましたが、検索に表示されず、名前でも見つかりません。 理由は何ですか? いつそこに現れるのでしょうか? 何を修正する必要がありますか?

主な理由

おそらく、グループまたはパブリックの設定で、年齢制限が 16 歳以上または 18 歳以上に設定されている可能性がありますが、そこには「アダルト」コンテンツはありません。 後で、グループが VKontakte セーフサーチに表示されず、iPhone アプリケーションではリンク経由でさえ開かないことが判明しました - メッセージが表示されます。

コミュニティには不適切なコンテンツが含まれている可能性があるため、閲覧できません。

実際のところ、Apple (iPhone メーカー) は「アダルト」素材に対して厳格であり、ユーザーの年齢に関係なく、それらをアプリケーション内で非表示にすることを要求しています。 したがって、VKontakte 開発者はアプリケーションでこれを行う必要があります。 そして、VK Webサイトでの検索では、そのようなグループはチェックを外すことによってのみ見つけることができます 「セーフサーチ」- これは検索パラメータの最後にあるため、誰もがこれに気づくわけではありません。

グループに年齢制限を設定すると、グループを非表示にする必要があることを自発的に通知することになります。自分が何をしているのかを完全に理解していない場合、10 代の若者からグループを閉鎖することはなく、すべての一般人がそのグループに参加できないようにするだけです。

グループ内の年齢制限を解除する方法

グループに「アダルト」コンテンツがない場合は、(3 つの点 - のボタンを使用して) コミュニティ管理に移動し、「追加情報」セクションで、 「年齢制限を指定する」:


次にオプションを選択します 「16歳未満」制限を解除して、 を押す "保存"。


これで問題は解決するはずです。 ただし、グループはすぐには検索に表示されず、しばらくしてから表示される可能性があることに注意してください。

グループはいつ検索に表示されますか?

VKontakte グループが検索エンジン (Yandex、Google) に含まれていないのはなぜですか?

なぜなら、それはすぐに検索エンジンに登録される(インデックスされる)のではなく、しばらくしてから、場合によっては非常に長い間(2週間、1か月)かかるからです。 これは、検索エンジンがそのグループをどれだけ早く見つけるか (つまり、インターネット上でそのグループへのリンクが利用できるかどうか)、その内容、その他の要因によって異なります。 さらに、Yandex または Google は、独自の理由により、検索結果にそのグループをまったく表示しないことを決定する場合があります。

以下のコメントにグループへのリンクを残しておけば、検索に表示されると信じられています。 しかし、これは真実ではありません。 実際、この記事をもう一度よく読んで、推奨事項を実際に実装する必要があります。

通常、VKontakte でコミュニティやグループを検索しても、ユーザーに問題は発生しません。 ただし、この状況は特定の要因により大きく変化する可能性があります。 たとえば、個人登録ページが存在しない場合です。

もちろん、誰もが VKontakte ソーシャル ネットワーク サイトにアクセスし、VK で最も一般的な登録を使用してサイトの全機能にアクセスすることを完全に阻止する人はいません。 同時に、ユーザーが自分のページを登録したり、標準の検索インターフェイスを使用したりする機会がない場合には、特に問題が発生します。

VKontakte グループを見つける方法はいくつかあります。 ほとんどの場合、ユーザーはソーシャル ネットワークのこの機能にアクセスするために登録する必要があります。

コミュニティ選択インターフェイスは、コンピュータ、ブラウザ、モバイル デバイスの両方で同様に機能します。

VKontakte への登録は、他のユーザーと交流するために不可欠な部分であることに注意してください。 したがって、独自のページを作成することをお勧めします。

方法 1: 登録せずにコミュニティを検索する

現代社会のほとんどの人がVKontakteを含むさまざまなソーシャルネットワークを積極的に使用しているという事実にもかかわらず、多くの人はまだ自分のページを持っていません。 この問題を解決してから、グループまたはコミュニティの検索を開始することをお勧めします。

VKontakte に登録する機会がない場合は、必要なコミュニティを見つける方法があります。


VKontakte コミュニティとグループを選択するためのこのオプションは、最も一般的なブラウザを使用するあらゆるユーザーに適しています。 同時に、登録しているかどうかは関係ありません。

方法 2: VKontakte コミュニティの標準検索

VKontakte コミュニティを検索するこの方法は、このソーシャル ネットワーク上にすでに自分のページを持っているユーザーにのみ適しています。 そうしないと、メイン メニューの目的のセクションに移動できなくなります。


興味のあるグループやコミュニティを検索するためのこのオプションは、あらゆる点で最適です。 コミュニケーションに VKontakte ソーシャル ネットワークを使用しない場合でも、少なくともそのような検索にアクセスするためには、登録することをお勧めします。

方法 3: Google で検索する

この場合、Google のシステム全体の助けを借ります。 この検索オプションは、快適ではありませんが、それでも可能です。

まず、VKontakte は世界で最も人気のあるネットワークの 1 つであり、検索エンジンと密接に連携していることを意味します。 これにより、VKontakte ソーシャル ネットワーキング サイトにアクセスしなくても、最も人気のあるグループやコミュニティを見つけることができます。

特定のアドレス内の選択機能を使用して、より詳細な検索を実行することもできます。


この材料を選択する方法は最も難しく、あまり便利ではありません。

このような検索では、最初のみ VKontakte サイトと一致します。 また、コミュニティが人気がない場合や閉鎖されている場合などは一切表示されません。

興味のあるグループやコミュニティが見つかるよう頑張ってください。

下の画像では、広告の例と、ターゲットと考えられる 2 つの選択された VKontakte グループをご覧いただけます。 私たちは単にこのグループを知っているだけかもしれませんし、その購読者であるかもしれませんし、あるいはあなたの競合他社であるかもしれません。

VKontakte 検索を使用して、トピックのキーワードを入力してみましょう。 たとえば、この場合は「ビジネス」になります。

私たちはその中から私たちに最も適したものを選択し、あなたの意見ではあなたのものがあるかもしれない場所を選択します。 競合他社のグループを選択することもできます。この既成の視聴者は、他の視聴者の中で最も効果的に自分自身を表示できます。 これらのコミュニティの名前とそのリンクを別のテキスト ファイルにコピーします。

現在、私たちはクライアントがいる可能性のある残りのグループを集めるという課題に直面しています。 これを行うには、ウェブサイトにある別のサービスを使用します。 このサービスは、人気のあるサービスとは異なり、無料で使用できます。 Web サイトにアクセスし、左側のメニューから適切な項目を選択します。

「コミュニティ視聴者の検索」という最初の項目を選択します。 この機会により、対象ユーザーが他のどのグループに属しているかを知ることができます。

これを行うには、最初のコミュニティへのリンクを入力した後、同様のグループの購読者の範囲を選択します。 システム スクリプトは、最初のコミュニティの既存の視聴者を分析して、同様のコミュニティを検索します。 このようにして、VKontakte で手動検索を使用せずに、関連するグループを見つけることができます。

次に、「拡張情報」形式を指定します。コミュニティとコミュニティに関する情報を取得できます。 たとえば、一致する視聴者の割合などです。 これは、最も類似した視聴者がいるグループを選択するのに役立ちます。

以下に進み、「視聴者検索を開始」ボタンをクリックしてください。 ポップアップウィンドウで「VK経由でログイン」ボタンをクリックし、アプリケーションへのアクセスを許可します。

前のページが再び表示されます。データを保存していない場合は、再度入力して視聴者の検索を開始します。 [上位…の結果を表示] 列で、結果を高速化するために値 100 を選択します。 選択したコミュニティの対象者に応じて、このプロセスには 1 時間から数十時間かかる場合があります。 聴衆が集まっている間、勉強することができます:)

最終的には次の情報を受け取ります。

私たちは各コミュニティのコンプライアンスを確認します。 私たちの意見では、ターゲットとするユーザーが含まれるものを選択します。 これらのグループのリンクを、VKontakte 上の広告で将来使用できるように、以前に作成したファイルにコピーします。

上記の類似コミュニティの検索方法は、特定のキーワードを入力しなくても検索できる点も特徴です。 以前は、手動検索中に「ビジネス」という単語を使用していましたが、パーサーの結果では、このキーワードを含まないリストを取得できます。 したがって、最初のコミュニティに最大のターゲット ユーザーがいる場合、このサービスを使用すると、最も類似したコミュニティを見つけることができ、その結果、そのユーザーを広告に使用できます。