<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
在今天,任何一個社群類平臺,都具備點贊功能,應運而生的就是自動點贊器,俗稱刷分機/刷贊器。
本文將為你介紹一款點贊機器人,最簡單易理解的核心邏輯。
全文涉及的虛擬碼,使用 Python 編寫,由於是虛擬碼的原因,不懂 Python,你也能看懂。
本次點贊機器人,主要面向電腦上的 Web 站點,不涉及 APP 端。
模擬點選操作,觸發點贊,喜歡等操作。
實現點贊操作前,還有一步重要的程式碼實現,模擬登入。
因此,點贊機器人的基本需求如下:
對該需求進行擴充套件後,存在兩個常見的業務場景。
基本邏輯梳理清楚之後,就可以進入實際的編碼環節。
在登入實現上,存在兩種思路:
思路二存在的問題為 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) # 思路一 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)
其中思路二的 Cookie 池,可以人工或者使用程式建立。
在模擬登入部分,你將碰到兩個學習難點
1.驗證碼識別問題;
2.IP 反爬限制。
難點一最易上手的解決方案,對接打碼平臺。
難點二解決方案,購買 IP 代理池,也可自建代理池,重點看專案成本與對穩定性的要求。
在很多專案中,當你完成了模擬登入操作,已經表示該網站對你 完全開放了。
接下來你要做的就是尋找點贊介面,例如下面的案例(只做參考使用):
CSDN 點贊介面如下:
# POST 傳遞使用者標識與文章 ID Request URL: https://blog.csdn.net//phoenix/web/v1/article/like Request Method: POST # POST 引數如下 articleId=118558076
知乎點贊介面如下:
# 直接 POST 傳遞,使用者標識在 Cookie 中 Request URL: https://www.zhihu.com/api/v4/zvideos/1391420717800554497/likers Request Method: POST
bilibili 點贊介面如下:
# 傳遞使用者標識的同時,傳遞相應的引數 Request URL: https://api.bilibili.com/x/web-interface/archive/like Request Method: POST # POST 引數如下 aid: 631588341 like: 1 csrf: b39b26b6b8071e2f908de715c266cb59
通過上述幾個案例,你會發現,點贊操作介面格式基本類似,都是通過 POST 傳遞 Cookie 與特定引數到伺服器中。
其中 B 站的特殊一些,攜帶了一個 csrf 引數,該引數可以從 Cookie 中直接提取。
虛擬碼實現
import requests def like(params): # 請求頭中獲取 Cookie 由模擬登入獲取 cookie = get_cookie() # cookie = login() headers = { "其它屬性":"屬性值", "Cookie":cookie # 重點包含使用者標識 Cookie } res = requests.post("地址","引數","請求頭")
在呼叫點贊介面部分,你將碰到一個學習難點
介面中包含位置引數,例如上述的 B 站點贊連結中的 csrf,碰到未知引數的解決思路參考下述描述。
繼續拿 B 站舉例,開啟瀏覽器開發者工具,切換到 network 索引標籤,當點選點讚的時候,會出現點讚的資料請求,如下圖所示。
該請求同時出現了 POST 的相關引數,接下來,你只需要按下鍵盤的 Ctrl+F,開啟搜尋視窗(就是在當前開發者工具的 network 索引標籤中開啟),在搜尋方塊中,輸入要檢索的值,即可找到該值所出現的所有請求位置,然後再進行後續分析即可。重點要找到該引數值產生的位置與原理。
自動點贊機器人存在多樣的應用場景,準確的說,該操作會造成某些平臺的失衡,也會影響平臺資料的公平性,但正是因為有需求,所以市場上現在存在大量的點贊器,刷分器,評論器,甚至存在大量的公司去經營此類業務。
我們不支援該類業務,但可以學習它的實現原理。畢竟使用 Python 實現一款自動化工具,瞭解原理之後,將變得非常簡單。
以上就是利用Python製作簡易的點贊器的詳細內容,更多關於Python點贊器的資料請關注it145.com其它相關文章!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45