Python擬似コード分析Liker実装の原則

序文

多くのコミュニティプラットフォームにはlike機能があり、自動likeデバイスが登場しました。今日、私はPythonを使用して、最もシンプルで理解しやすいコアロジックであるlikeロボットを作成しています。完了

この記事に含まれる擬似コードはPythonで書かれています。擬似コードであるため、Pythonを知らなくても理解できます。

ここに画像の説明を挿入

1.はじめに

1.該当するシナリオ

今回のようなロボットは主にコンピューター上のウェブサイト用であり、APP側は関与しません。

2.コアロジック

クリック操作をシミュレートして、いいね、いいね、その他の操作をトリガーします。同様の操作を実装する前に、ログインをシミュレートするコード実装の重要なステップがあります。したがって、ボットのような基本的なニーズ

シミュレートされたログインといいねを含みます。

この要件を拡張した後、2つの一般的なビジネスシナリオがあります。

•多数のアカウントへのログインをシミュレートすることにより、「1人/1つのもの/1つの記事/1つのビデオ」の多数のいいねを達成できます。つまり、他の人のポイントを磨くことができます。

•アカウントにログインすることで、「複数の人」のバッチいいねを達成できます。つまり、自分のポイントを磨くことができます。

ここに画像の説明を挿入

第二に、コードの実装

ロジックが整理されたら、実際のコーディングリンクを入力できます。

1.ログインをシミュレートする

ログインの実装については、次の2つの考え方があります。

•多数の登録済み(購入も可能)アカウント、Pythonプログラムを介してアカウントを切り替え、ログインごとに次のアカウントに切り替えます。

•事前に技術的または人為的な手段でログインをシミュレートし、アカウントログイン後に生成されたCookieを記録し、Cookieプールを維持して操作ロジックを実現します。

2番目のアイデアの問題はCookieの有効期間です。Webサイトにこの制限がない場合は、より効率的なこの方法を採用することをお勧めします。擬似コードの実装は次のとおりです。

Python学习交流Q群:906715085###
# 思路一
with open("users.txt","r") as f:
 user_pass = f.readline()
 # 模拟登录
 login(user_pass)
 # 完成登录后操作
 do_someting()

# 思路二
with open("cookies.txt","r") as f:
 one_cookie = f.readline()
 # 通过携带 cookie 参数访问接口
 get_detail(one_cookie)

with open("users.txt","r") as f:
 user_pass = f.readline()
 # 模拟登录
 login(user_pass)
 # 完成登录后操作
 do_someting()

# 思路二
with open("cookies.txt","r") as f:
 one_cookie = f.readline()
 # 通过携带 cookie 参数访问接口
 get_detail(one_cookie)


with open("users.txt","r") as f:
 user_pass = f.readline()
 # 模拟登录
 login(user_pass)
 # 完成登录后操作
 do_someting()

# 思路二
with open("cookies.txt","r") as f:
 one_cookie = f.readline()
 # 通过携带 cookie 参数访问接口
 get_detail(one_cookie)
# 思路一
with open("users.txt","r") as f:
 user_pass = f.readline()
 # 模拟登录
 login(user_pass)
 # 完成登录后操作
 do_someting()

# 思路二
with open("cookies.txt","r") as f:
 one_cookie = f.readline()
 # 通过携带 cookie 参数访问接口
 get_detail(one_cookie)

その中で、2番目のアイデアのCookieプールは、手動またはプログラムを使用して作成できます。シミュレートされたログイン部分では、遭遇した2つの学習障害と解決策:

1.検証コード識別の問題:コーディングプラットフォームとのドッキング。

2. IPクライミング防止の制限:プロジェクトのコストと安定性の要件に焦点を合わせて、IPプロキシプールを購入するか、独自のプロキシプールを構築できます。

ここに画像の説明を挿入

2.インターフェース分析のように

多くのプロジェクトでは、シミュレートされたログイン操作が完了すると、Webサイトが完全に開いていることがすでに示されています。次に行う必要があるのは、次の場合のような同様のインターフェイスを見つけることです(参照用のみ)。

①CSDNは次のようなインターフェースが好きです。

ここに画像の説明を挿入

インターフェイス要求情報は次のとおりです。

# POST 传递用户标识与文章 ID
Request URL: https://blog.csdn.net//phoenix/web/v1/article/like
Request Method: POST
# POST 参数如下
articleId=122076691

②知乎は次のようなインターフェースが好きです。

ここに画像の説明を挿入

インターフェイス要求情報は次のとおりです。

# 直接 POST 传递,用户标识在 Cookie 中
Request URL: https://www.zhihu.com/api/v4/articles/458921602/like
Request Method: POST

③bilibiliのようなインターフェースは次のとおりです。

ここに画像の説明を挿入

インターフェイス要求情報は次のとおりです。

# 传递用户标识的同时,传递相应的参数
Request URL: https://api.bilibili.com/x/article/like
Request Method: POST
# POST 参数如下
aid: 14849888
like: 1
csrf: 4fc454178a13f7e4494e3b5f48385b3a

上記の場合、同様の操作インターフェースのフォーマットは基本的に類似しており、両方ともPOSTを介してCookieと特定のパラメーターをサーバーに渡します。その中で、ステーションBの特別なもの

それらのいくつかは、Cookieから直接抽出できるcsrfパラメーターを持っています。

3.likerの擬似コードの実装

擬似コードの実装は次のとおりです。

ここに画像の説明を挿入

同様のインターフェイスを呼び出す部分で、問題が発生します。インターフェイスには、上記のBサイトの同様のリンクにあるcsrfなどの位置パラメータと、不明なパラメータの解決策が含まれています。

以下の説明を参照してください。引き続きBステーションを例にとり、ブラウザ開発ツールを開き、[ネットワーク]タブに切り替えます。[同様]をクリックすると、同様のデータが表示されます。

下の図に示すように、リクエストします。
ここに画像の説明を挿入

リクエストには、POSTの関連パラメーターも表示されます。次に、キーボードのCtrl + Fを押したままにして、検索ウィンドウ(開発者ツールの[ネットワーク]タブで開きます)を開きます。

検索ボックスに、取得する値を入力して、値が表示されるすべてのリクエストの場所を検索し、その後の分析を実行します。ポイントは、パラメータ値が生成される場所を見つけることです

原則として。

ここに画像の説明を挿入

3.まとめ

ロボットのように自動化するためのさまざまなアプリケーションシナリオがあります。正確には、この操作は一部のプラットフォームで不均衡を引き起こし、プラットフォームデータの公平性にも影響を与えます。このクラスはサポートしていません

ビジネスですが、それがどのように機能するかを学ぶことができます。

ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/xff123456_/article/details/124347424