用Python自動給抖音漂亮小姐姐視頻點贊!
2、調(diào)用百度人臉識別的接口,給視頻畫面中出現(xiàn)的小姐姐打分
3、自動給顏值 70 以上的小姐姐的視頻點贊
先演示一下效果。
連接手機(手機要允許ADB調(diào)試),運行爬蟲程序,程序會自動打開抖音APP,自動尋找漂亮的小姐姐啦。
這個爬蟲程序大概就是這樣,下面詳細講解一下,這個爬蟲是怎么做出來的。
# 抖音App的應(yīng)用包名和初始Activity
package_name = 'com.ss.android.ugc.aweme'
activity_name = 'com.ss.android.ugc.aweme.splash.SplashActivity'```
adb shell am start -n com.ss.android.ugc.aweme com.ss.android.ugc.aweme.splash.SplashActivity```
adb shell input tap 1330 1750```
adb shell input swipe 900 1400 400 1400 100```
由于爬蟲還是稍微有點大,所以我拆成三個部分來寫。
人臉識別部分,ADB 控制部分,和爬蟲主邏輯部分。
import base64
import urllib
import json
import requests
import sys
appid = '填寫你申請的 appid'
api_key = '填寫你申請的 api_key'
secret_key = '填寫你申請的 secret_key'
這部分的代碼主要包括四個函數(shù),包括
```
save_video_met 函數(shù),點擊 ”點贊“ 按鈕。在檢測到漂亮小姐姐之后調(diào)用。
play_next_video 函數(shù),向上滑動屏幕,播放下一個視頻。
get_screen_shot_part_img 函數(shù),用來截取屏幕圖像,保存到電腦中,以便后續(xù)人臉識別。
import os
from PIL import Image
# 抖音App的應(yīng)用包名和初始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 應(yīng)用
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
# 截取部分,去掉其頭像、其他內(nèi)容雜亂元素
img = img.crop((0, 400, 1200, 2750))
img.thumbnail((int(w / 1.5), int(h / 1.5)))
# 保存到本地
img.save(image_name)
return image_name```
import datetime
import time
import shutil
if __name__ == '__main__':
access_token = get_access_token()
# 設(shè)置一條視頻最長的識別時間,要是墨跡 10 秒還不露臉,也不管她了,下一個
RECOGNITE_TOTAL_TIME = 10
# 識別次數(shù)
recognite_count = 0
# 圖片類型【網(wǎng)絡(luò)和本地】
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()
# 識別次數(shù)
recognite_count = 1
# 循環(huán)地去刷抖音
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次識別結(jié)束后的時間
recognite_time_end = datetime.datetime.now()
# 這是一個美女
if recognite_result:
find_girl_num += 1
save_video_met(screen_name, find_girl_num)
print("已經(jīng)發(fā)現(xiàn) %d 個漂亮小姐姐" % find_girl_num)
break
else:
if (recognite_time_end - recognite_time_start).seconds < RECOGNITE_TOTAL_TIME:
continue
else:
print('超時!??!這是一條沒有吸引力的視頻!')
# 跳出里層循環(huán)
break
# 刪除臨時文件
shutil.rmtree('./images')
time.sleep(0.05)
os.mkdir('./images')
# 播放下一條視頻
print('==' * 30)
time.sleep(2)
print('準備播放下一個視頻~')
play_next_video()
time.sleep(2)```
最后給大家推薦視頻號,每天更新爬蟲高階實戰(zhàn)視頻。 掃描關(guān)注?? 莫等閑,白了少年頭
評論
圖片
表情
