1. 程式人生 > >尋找高顏值小姐姐,難嗎!直到我發現了這個Python庫

尋找高顏值小姐姐,難嗎!直到我發現了這個Python庫

Python真的是無所不能,有同學說萬能的Python,其實就是指的Python的庫真的很多很多!坐地鐵的時候,經常看到周圍人刷抖音的,看短視訊。抖音上面的美女小姐姐真的是很多,今天在Github上一逛,發現關於抖音的庫好多啊!


 

有81個repo,其中點贊最多的是Douyin-Bot,這個庫有近5000多顆星,近1000個fork,厲害啊!我們一起來看看這個神奇的庫!

 

抖音機器人

這個庫的作者叫 "wangshub",他用 Python 加ADB 做了一個 Python 抖音機器人 Douyin-Bot,有點類似與當年風靡一時用機器人玩微信跳一跳遊戲。

 

 

1.看一些它的原理:

  1. 是利用ADB工具,讓手機和電腦相連
  2. 然後開啟抖音短視訊 App,擷取手機上美女小姐姐的圖片
  3. 然後對圖片進行壓縮,最厲害的部分來了
  4. 作者利用騰訊的開放的AI介面,進行人臉識別,進行圖形切割和對比
  5. 當顏值大於門限值 BEAUTY_THRESHOLD時,點贊並關注;
  6. 然後迴圈下一頁,繼續第一步;

 

2.看看程式獲取的臉部圖片

 

3.研究一下庫的入口原始碼

def main():
   """
   main
   :return:
   """
   print('程式版本號:{}'.format(VERSION))
   print('啟用視窗並按 CONTROL + C 組合鍵退出')
   debug.dump_device_info()
   screenshot.check_screenshot()

   while True:
       next_page()

       time.sleep(1)
       screenshot.pull_screenshot()

       resize_image('autojump.png', 'optimized.png', 1024*1024)

       with open('optimized.png', 'rb') as bin_data:
           image_data = bin_data.read()

       ai_obj = apiutil.AiPlat(AppID, AppKey)
       rsp = ai_obj.face_detectface(image_data, 0)

       major_total = 0
       minor_total = 0

       if rsp['ret'] == 0:
           beauty = 0
           for face in rsp['data']['face_list']:
               print(face)
               face_area = (face['x'], face['y'], face['x']+face['width'], face['y']+face['height'])
               print(face_area)
               img = Image.open("optimized.png")
               cropped_img = img.crop(face_area).convert('RGB')
               cropped_img.save(FACE_PATH + face['face_id'] + '.png')
               # 性別判斷
               if face['beauty'] > beauty and face['gender'] < 50:
                   beauty = face['beauty']

               if face['age'] > GIRL_MIN_AGE:
                   major_total += 1
               else:
                   minor_total += 1

           # 是個美人兒~關注點贊走一波
           if beauty > BEAUTY_THRESHOLD and major_total > minor_total:
               print('發現漂亮妹子!!!')
               thumbs_up()
               follow_user()

       else:
           print(rsp)
           continue

思路還是非常清晰的:

  1. 一開始進行初始化的工作,檢查Py的版本,檢查手機ada 是否連結好了,螢幕是否能截圖
  2. 接著開始一個死迴圈,不斷的截圖每一頁上的美女的圖片,壓縮儲存!
  3. 然後讀取圖片,呼叫AI介面進入分析,返回一個ret字典資訊,對裡面顏值和年齡進行分析
  4. 最後對顏值高的美女自動點贊,關注!