/1 前言/
成都創新互聯堅持“要么做到,要么別承諾”的工作理念,服務領域包括:網站設計制作、做網站、企業官網、英文網站、手機端網站、網站推廣等服務,滿足客戶于互聯網時代的阿城網站設計、移動媒體設計的需求,幫助企業找到有效的互聯網解決方案。努力成為您成熟可靠的網絡建設合作伙伴!嘿,各位小伙伴們晚上好呀,今天小編又給大家帶來干貨內容啦,今天帶來的是,如何自動登錄抽屜,并且點贊!
原計劃是不打算使用selenium的,但是因為要涉及點贊,所以免不了登錄。但事實證明,我又被啪啪打臉了,抽屜的登錄是真的難,各種參數把我干懵了。無賴之下,我還是撿起了selenium,難逃真香定律吶,哈哈哈。
好了,廢話不多說,直接進入正題吧!
萬年不變的套裝...
Chromedriver:瀏覽器驅動,可以理解為一個沒有界面的chrome瀏覽器。
Selenium:用于模擬人對瀏覽器進行點擊、輸出、拖拽等操作,就相當于是個人在使用瀏覽器,也常常用來應付反爬蟲措施。
我們都知道,要想點贊,就需要知道是誰點的,登錄以后需要等保存狀態,一般有cookie,seeeion,token三種形式,那么抽屜的是怎么玩的呢?我們來圖解一下,如下圖所示。
通過上圖,我們一目了然,能看出來,只要我們登錄了之后,拿到了cookie,以后就不用selenium啦!所以,我們這里將登錄獲取cookie和點贊進行分離,分開進行,邏輯也十分的清晰,而且一點兒也不耽誤事情。
抽屜url:https://dig.chouti.com/,直接放這了。
一個熱榜資訊社區,大概長這個樣子,如下圖所示,內容還是挺不錯的。
在上圖我們可以看到右上方的登錄按鈕,在左側可以看到需要點贊的圖標以及點贊數,評論數和收藏數等等,接下來我們先進行第一步自動登錄。
點擊右上方的登錄按鈕,頁面將會進行跳轉,進入到一個登錄界面,如下圖所示。
彈出登錄模態對話框,接下來我們使用selenium來開始盤它了,直接上代碼,如下所示。
注意事項1:介于篇幅和排版原因,這里只是給出了一個代碼截圖,完整代碼我在文末留了github鏈接,回頭可以直接去down即可。
因為此登錄是模態對話框,所以用selenium是不能點擊登錄按鈕的,需要執行js代碼,如下圖所示。
Cookie是怎么玩的呢,我他把寫在了本地,但是測試發現selenium獲取cookie不全,所以我們依然使用js獲取。
注意事項2:抽屜如果登錄多了,可能會讓輸入滑塊驗證碼之類的,本文這部分并未有進行處理。
自動登錄的效果圖如下圖所示:
/7 開始自動點贊/
在上面的工作中,我們已經成功的拿到登錄返回的cookie了,接下來我們就開始自動點贊,而且有了之前的基礎,下面的事情我們就好辦多了。
我們首先需要看一下,點贊請求的是哪個接口。我們清空一下瀏覽器中的NetWork日志,點擊第一個文章的贊按鈕,如下圖所示。
我們可以看到,這個接口發的是post請求,但是發送的是什么數據呢?我們下滑繼續一探究竟。
可以看到在Form Data里邊,有一個linkid:29213534,是一串長數字,這個是什么呢?馬上揭曉!
使用瀏覽器與網頁的交互功能,我們點擊對應的文章,那么很快我們就可以鎖定這個linkid,如下圖所示。
相信大家肯定都看得出來,其實post的那一串數字其實就是文章ID。換句話說,我們只需要把這個ID都獲取到,放到post構造數據里邊,程序一運行,就可以實現點贊啦!
/8 代碼實現/
下面是部分代碼截圖,完整代碼在文末,如下圖所示。
注:這里只是測試了前10個文章。
/9 抽屜自動點贊效果圖/
為了方便大家查看,我做了一個簡單的小動態圖給大家,詳情如下。
如果動圖看的不是很清晰的話,不用慌,小編已經把原圖放到github上了,大家可以去訪問看看,很清晰,如下圖所示。github鏈接在文末,歡迎大家來戳!
/10 抽屜自動點贊效果圖/
代碼詳情我已經上傳到github這里了:https://github.com/cassieeric/python_crawler/tree/master/autoVote。如果覺得還不錯,記得給個star噢,感想小伙伴們的支持!
另外有需要云服務器可以了解下創新互聯建站vcdvsql.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
分享文章:用Python模擬技巧帶你實現自動抽屜登錄&自動點贊-創新互聯
網頁網址:http://vcdvsql.cn/article36/ddpppg.html
成都網站建設公司_創新互聯,為您提供網站策劃、域名注冊、網站內鏈、服務器托管、網站建設、用戶體驗
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯