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