WeChatグループ乾癬とは、WeChatグループ内の他のユーザーに恥ずかしげもなく広告を送信するユーザーのことを指します。彼らはWeChatグループの所有者が最も嫌う人々です。 Early Bird をよくご存知の読者の方は、私が技術交流グループを運営していることをご存知だと思いますが、このグループは設立以来、小さな広告に悩まされてきました。彼らは一般人に変装してグループに潜入し、グループに広告攻撃を続け、グループ内の技術交流の雰囲気を著しく乱しました。 あるいは、グループの全メンバーを黙って嫌がらせする。 何が彼らを、WeChatグループ最強の乾癬になるために妥協のない努力をさせるのかは明らかではありませんが(おそらくお金)、あまりにも多くの嫌がらせを経験した後、Pythonを使用してそれらを排除できるのではないかと考え始めました。 ラウンド1 実際、最初のアイデアは非常にシンプルです。それは 2 つのステップに分かれています。まず、これらの人々を正しく特定し、次に Python を使用して追い出します。 しかし、これら 2 つのステップはそれぞれ簡単ではありません。まず、これらのユーザーを正確に識別する最初のステップについて説明します。インターネット上にはデータがなく、適切な識別基準もありません。特徴認識を完了するには、自分の脳を使うしかありません。広告を投稿した約 100 人のユーザー サンプルを使用して数か月間トレーニングした後、私の「人工知能」は基本的に、異常なユーザーが以下の基準の少なくとも 3 つを満たしていると判断できます。
そして、過去のデータによると、1番目と3番目の項目を満たすユーザーは小さな広告のファンである可能性が高いため、次に行うことは、Pythonを使用してWeChatでこれらの人々を見つけるためのコードを記述することです。このルールをまとめた後、私は数年前にPythonを使用してWeChatの友達を研究したことがあり、wxpyまたはitchatの操作は複雑ではないはずなので、この要件を達成することは難しくないだろうと楽観的でしたが、事実は私がまだ若すぎることを証明しました。 いつからかは分かりませんが、これらのライブラリはまだインストールして使用できますが、WeChatは基本的にほとんどの人のWebバージョンのWeChatログイン権限を禁止しています。そのため、複数のWeChatアカウントを使用してQRコードをスキャンしてWeChatにログインすると、例外なくプロンプトが表示されます。
これは頭の痛い問題です。何千人ものWeChatの友達を1人ずつ手動で確認することはできないので、他の解決策があるかどうか考え始めました。 第2ラウンド Python クローラーを頻繁に作成する場合、場合によっては、Requests を使用して面倒なクロール防止対策を行うよりも、Selenium の方が操作が便利であることがわかっているでしょう。そこで、WeChat APIを使用するというアイデアが失敗したことがわかった後、私は比較的愚かな方法に注目しました————pynput pynput は、Python を使用してコンピューターのマウスとキーボードを制御および監視するサードパーティ ライブラリです。この時点で、私が何をしたいのかがわかったと思います。API を使用してデータを直接取得することはできないため、Selenium と同様に、友達を 1 人ずつクリックする操作をシミュレートして、必要な操作を実現します。 このライブラリについて簡単に説明します。依存ライブラリがあまり多くないので、インストールはとても簡単です。pip install pynput を実行するだけです。使い方もとても簡単です。マウス操作は座標のみに依存します。デモを見てみましょう👇 上記の GIF デモと同様に、最初に pynput をインポートしてマウス コントローラーをインスタンス化し、ステータス バーの WeChat の位置を mouse.position に送信してマウスがその位置に移動するようにし、次に mouse.press を使用してマウス クリックをシミュレートして WeChat を自動的に開きます。そこで質問なのですが、目的の場所の座標をどうやって取得すればいいのでしょうか?少しずつ試すだけではだめです! コントローラーを使用してマウスを制御するだけでなく、pynput はマウスを監視することもできます。たとえば、次のコードを使用すると、プログラムの起動後にマウスをクリックするたびにその位置を記録できます。
次のタスクは簡単です。WeChat ウィンドウを固定したまま、各キー位置 (WeChat アイコンの位置、グループ チャット ウィンドウの位置、個々のグループ メンバーのアバターの位置) の座標を記録するだけです。たとえば、上記の最初のルールを判断する場合、つまり各グループ メンバーの WeChat アカウントが設定されているかどうかを取得する場合は、次の操作をシミュレートしてそれを達成できます。
上記のプロセスでは、最後のステップで、pynput のキーボード コントローラーを使用してコピーできることに言及する価値があります。対応する WeChat アカウントをダブルクリックして選択した後、次のコードを使用してキーボード入力 Command + C をシミュレートし、コピー操作を完了できます。
ただし、貼り付けには、別のエディターに貼り付けるためのコマンド+Cをシミュレートするためにpynputを使用する必要はありません。サードパーティのライブラリpyperclipを使用して、次の2行のコードでコピーしたテキストを直接文字列に変換できます。
グループメンバーのWeChat IDを文字列に変換した後、文字列の長さを判断したり、正規表現やその他の方法を使用したりすることで、メンバーのWeChat IDが最初のWeChat IDであるかどうかを簡単に判断し、ルール1の判断を実装できます。次のコードと動的な図は、最初のグループメンバーのWeChat IDを取得する完全なプロセスです。
Zao XiaoqiのWeChatアカウントが広告アカウントから正常に除外されたことがわかります。 次に、グループメンバー間の座標距離を記録し、ループしてスクロールまたはプルダウンをシミュレートして上記のプロセスを実行します。その後、ルール 1 に従ってグループメンバー全員の WeChat アカウントを判断し、異常なメンバーを見つけて個別に判断できます。 最終的に、広告アカウントであると疑われるWeChatアカウントが6件見つかりました。その後、他のルールに基づいた手動判断により、最終的に2人のユーザーが高リスクの広告ユーザーとして特定され、削除されました。 最後に 上記の操作により、2 つの疑わしい広告アカウントの排除に成功しましたが、全体としては失敗でした。本当に正しい人をキックしたかどうかを判断するのはまだ難しいからです。間違った人をキックした場合、ファンの数は-1になります。同時に、Pythonを使用してグループ内の乾癬を正確に見つけることは依然として非常に難しいことがわかります。pynputを使用すると、せいぜいWeChat名、WeChatアカウント、アバター(画像認識APIを使用)の判断を完了できますが、友達の輪に隠されたより多くの情報を抽出してマイニングすることは困難です。 同時に、pynput には Selenium と同じ欠点があります。つまり、実際の人の操作をシミュレートするため速度が遅く、位置決め方法が座標のみをサポートしているため、操作中に WeChat ウィンドウを移動できないようにする必要があります。そうしないと、以前に記録されたすべての要素が無効になります。開発者は、より多くの位置決め方法をアップグレードすることをお勧めします。 |
<<: WeChat AIがHPおよびIntelと提携し、PC向け人工知能音声アシスタントを開発
スマート シティが将来のアイデアだけでなく現実のものとなるにつれ、人工知能 (AI) が台頭してきて...
[51CTO.com クイック翻訳] 先週、annyang を使用してマップ インターフェースに音声...
[[438551]]人工知能技術の急速な発展に伴い、世界各国は兵器や装備の研究開発にインテリジェント...
1. 機械学習をスキルとして扱うソフトウェア エンジニアとして、私たちは常に学習し、進化するフレーム...
[51CTO.com クイック翻訳] Facebook は人工知能を使用してポルノを識別し、マーク...
GPT-4 は論文をレビューできますか?スタンフォード大学などの研究者が実際にテストしました。彼ら...
機械学習は現在隆盛を極めていますが、機械学習を学習・研究し、実稼働環境で活用したい場合には、プラット...
今日、ビッグデータ技術の発展と進歩により、大量のデータを収集および送信するための新しい、より効率的な...
この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...
写真は人工知能中国の人工知能はどれほど強力か?将来ロボットが手術を行えるようになるか?多くの中国人は...
2017 年に最も価値のある機械学習スキルはどれでしょうか? Quora の 2 つの回答では、最...
2018年は新しい小売業が爆発的に増加した年でした。誰もがそれを実感したと思います。以前よりもコン...
農作物の保護から電力検査、映画やテレビの撮影から消防救助、緊急通信から交通検査まで、ドローンの活用が...