您好,登錄后才能下訂單哦!
這篇文章主要介紹“怎么用Python自動給抖音漂亮小姐姐視頻點贊”,在日常操作中,相信很多人在怎么用Python自動給抖音漂亮小姐姐視頻點贊問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”怎么用Python自動給抖音漂亮小姐姐視頻點贊”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
先演示一下效果。
連接手機(手機要允許ADB調試),運行爬蟲程序,程序會自動打開抖音APP,自動尋找漂亮的小姐姐啦。
有趣的是,根據抖音的推薦算法,連著刷幾天之后,抖音里給你推薦的全是漂亮小姐姐了。剛開始刷的時候,可能幾十條里都沒有一個漂亮小姐姐,而刷幾天之后,基本上刷到的每條視頻里都是漂亮小姐姐。看,這是我刷了三天的 “成果”, 斷斷續續刷了三天時間,已經 “點贊” 了兩百多條漂亮小姐姐的視頻。
咱有一說一啊,先不管是不是因為抖音的美顏濾鏡功能強大,單純從爬蟲爬到的視頻來看,這些小姐姐是真的好看,結果還是令人滿意的。
下面這個是抖音里檢測到漂亮小姐姐的截圖畫面,本來這是作為臨時文件,人臉檢測完即刪除的,我看著好看,就給留了下來。
這個爬蟲程序大概就是這樣,下面詳細講解一下,這個爬蟲是怎么做出來的。
1. 基礎準備 這個爬蟲需要用到三個東西。Python 環境,爬蟲程序是用 Python 寫的,肯定要先配置好 Python 的環境啊。沒有配好的自行去安裝一下 Anaconda。
此外,還需要安裝一些必要的庫,如 requests,urllib,PIL等。ADB 環境,我們的爬蟲需要通過 ADB 命令對手機進行操作,實現自動刷抖音,自動點贊的功能。安裝方法自行百度。
人臉識別API,我這里用的是百度AI的人臉識別接口,大家需要自行注冊一個百度AI 開放平臺的賬號,然后創建一個人臉識別的應用,然后將 appid,api_key,secret_key 三個參數填到爬蟲代碼這兒即可。
這里簡單對 ADB 介紹一下。
ADB 的全稱為 Android Debug Bridge,就是起到了調試橋的作用,用這個可以很方便地對安卓應用進行調試。
簡單點說,就是你可以用這個工具來操作你的手機,它可以完成你在手機上能做的任何操作。
比如說安裝/卸載/打開/關閉手機APP,滑動屏幕,點擊,長按等等。更復雜的操作也能做,我們這里就不講了,因為我們的這個抖音爬蟲用到的 ADB 指令基本也就這些了。a. ADB 啟動應用 只需要知道應用的 package_name 和 activity_name,然后調用下面的 adb 指令,即可打開相應的應用。
adb shell am start -n [package_name] [activity_name]
以抖音 APP 為例,它的 package_name 和 activity_name 如下。
# 抖音App的應用包名和初始Activity package_name = 'com.ss.android.ugc.aweme' activity_name = 'com.ss.android.ugc.aweme.splash.SplashActivity'
所以在命令行中運行下面的指令,即可打開手機中的抖音APP。
adb shell am start -n com.ss.android.ugc.aweme com.ss.android.ugc.aweme.splash.SplashActivity
b. ADB 點擊屏幕
在命令行中運行下面指令,即可實現手機屏幕的點擊。其中 1330 1750 是點擊的 x y坐標。
adb shell input tap 1330 1750
以此爬蟲里的抖音點贊為例,我只需要記錄下抖音app中,點贊按鈕對應的屏幕坐標,然后調用這句指令,即可完成自動點贊。
c. ADB 滑動屏幕
在命令行中運行下面指令,實現的是手機屏幕的滑動操作。其中有 5 個參數。這五個數字分別表示的是,滑動起始點的 x y 坐標,滑動終止點的 x y 坐標,滑動時長。
adb shell input swipe 900 1400 400 1400 100
比如上面這句指令表示的就是,從坐標(900,1400)的點,滑動到坐標 (400,1400)的點,滑動過程 100 毫秒。
其實,這句指令稍微改一改,把起始坐標和終止坐標設為一致,滑動時長設長一些,滑動操作就變成了 “長按屏幕” 操作了。
基本準備工作也差不多就這些了,下面講一下爬蟲程序的整體思路吧。
如圖所示,爬蟲的整個爬取思路如下。
首先啟動抖音 APP,等第一個視頻加載出來播放之后,截取屏幕畫面,調用百度 AI 的人臉識別接口進行人臉檢測和評分。
如果畫面中檢測到顏值評分70分以上,且性別為女的人臉,則點擊屏幕中的”點贊“按鈕,然后上滑播放下一條視頻。
如果畫面中中沒有出現人臉,或者性別為男,或者顏值不足70,則繼續截圖檢測,直到視頻播放結束,或者找到滿足條件的人臉為止,然后上滑播放下一條視頻。為了盡可能地不錯過有漂亮小姐姐的抖音,每條視頻中會截取 4 - 5 張圖片進行檢測,只要有一張截圖中有高顏值的小姐姐,那么我們就對這個視頻進行點贊。如果這樣都檢測不出來,只能說小姐姐藏得太深,或者漂亮的不夠明顯了。
大概思路就是這樣,下面我們就來動手完成爬蟲吧!
由于爬蟲還是稍微有點大,所以我拆成三個部分來寫。人臉識別部分,ADB 控制部分,和爬蟲主邏輯部分。
這部分用了調用了 百度AI 的人臉識別接口,需要將你自己申請的 appid,api_key,secret_key 三個參數填到代碼里。
import base64 import urllib import json import requests import sys appid = '填寫你申請的 appid' api_key = '填寫你申請的 api_key' secret_key = '填寫你申請的 secret_key' 這部分的代碼主要包括四個函數,包括
這部分的代碼主要包括四個函數,包括:
ADB 控制部分,大概思路就是通過python中的 os 庫執行 adb 指令,來對手機進行操作。
主要包括四個函數:
start_my_app 函數,用來啟動 抖音 APP。
save_video_met 函數,點擊 ”點贊“ 按鈕。在檢測到漂亮小姐姐之后調用。
play_next_video 函數,向上滑動屏幕,播放下一個視頻。
get_screen_shot_part_img 函數,用來截取屏幕圖像,保存到電腦中,以便后續人臉識別。
import os from PIL import Image # 抖音App的應用包名和初始Activity package_name = 'com.ss.android.ugc.aweme' activity_name = 'com.ss.android.ugc.aweme.splash.SplashActivity' def start_my_app(package_name, activity_name): # 打開 Android 應用 os.popen('adb shell am start -n %s/%s' % (package_name, activity_name)) def save_video_met(screen_name, find_girl_num): # 保存截圖 img = Image.open(screen_name).convert('RGB') img.save("漂亮的小姐姐/DYGirl_%d.jpg" % find_girl_num) # 給視頻點贊 os.system("adb shell input tap 1330 1750") def play_next_video(): # 向上劃屏幕,播放下一段視頻 os.system("adb shell input swipe 540 1300 540 500 100") def get_screen_shot_part_img(image_name): # 截圖 os.system("adb shell /system/bin/screencap -p /sdcard/screenshot.jpg") os.system("adb pull /sdcard/screenshot.jpg %s" % image_name) # 打開圖片 img = Image.open(image_name).convert('RGB') # 圖片的原寬、高 w, h = img.size # 截取部分,去掉其頭像、其他內容雜亂元素 img = img.crop((0, 400, 1200, 2750)) img.thumbnail((int(w / 1.5), int(h / 1.5))) # 保存到本地 img.save(image_name) return image_name
這些函數中的坐標是根據我手機的屏幕坐標寫的(華為 Mate 20 Pro),其他型號手機的同學,可以根據自己手機屏幕的分辨率,對這些參數進行調整。
修改坐標的方法我也大概說一下,在你手機的設置中,找到開發人員選項,然后將指針位置這個打開
然后你就可以看到你點擊到屏幕的位置了,頂部也會顯示你點擊的位置坐標。
打開抖音,手指放到點贊按鈕上,記錄下此時屏幕頂部顯示的坐標,然后把這個坐標替換到代碼中就好了。
根據前面分析的流程圖,編寫爬蟲程序的主邏輯。
import datetime import time import shutil if __name__ == '__main__': access_token = get_access_token() # 設置一條視頻最長的識別時間,要是墨跡 10 秒還不露臉,也不管她了,下一個 RECOGNITE_TOTAL_TIME = 10 # 識別次數 recognite_count = 0 # 圖片類型【網絡和本地】 TYPE_IMAGE_NETWORK = 0 TYPE_IMAGE_LOCAL = 1 print("打開抖音~") start_my_app(package_name, activity_name) time.sleep(5) print("開始播放視頻~") find_girl_num = 0 # 對當前視頻截圖去人臉識別 while True: # 開始識別的時間 recognite_time_start = datetime.datetime.now() # 識別次數 recognite_count = 1 # 循環地去刷抖音 while True: # 獲取截圖 screen_name = get_screen_shot_part_img('images/temp%d.jpg' % recognite_count) # 人臉識別 recognite_result = analysis_face(parse_face_pic(screen_name, TYPE_IMAGE_LOCAL, access_token)) recognite_count += 1 # 第n次識別結束后的時間 recognite_time_end = datetime.datetime.now() # 這是一個美女 if recognite_result: find_girl_num += 1 save_video_met(screen_name, find_girl_num) print("已經發現 %d 個漂亮小姐姐" % find_girl_num) break else: if (recognite_time_end - recognite_time_start).seconds < RECOGNITE_TOTAL_TIME: continue else: print('超時!!!這是一條沒有吸引力的視頻!') # 跳出里層循環 break # 刪除臨時文件 shutil.rmtree('./images') time.sleep(0.05) os.mkdir('./images') # 播放下一條視頻 print('==' * 30) time.sleep(2) print('準備播放下一個視頻~') play_next_video() time.sleep(2)
有時候網絡可能卡一些,視頻加載需要一些時間,所以每次看到下一條視頻時,先停兩秒,等視頻差不多加載好了再開始檢測。
到此,關于“怎么用Python自動給抖音漂亮小姐姐視頻點贊”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。