Python自動篩選抖音高顏值小姐姐視頻!

      網友投稿 1295 2022-05-29

      為什么寫這篇文章,主要也是因為看了網易云課堂的一篇軟廣。

      「用Python在抖音扒了這些高顏值女神后,突然成了人生贏家」,文中簡述了一名工程師利用Python+ADB+鵝廠的AI,一晚上關注了一千多個漂亮小姐姐。

      充分體現了廠子里的大學生和工人們的不同,這里我不得不說一聲×××牛皮...

      曾經的我也獨自一人在那個諾大的工廠思考人生,思考著我該何去何從。

      記得那時我也靠著刷抖音,度過那段煎熬的日子。

      只不過沒有上面那位大佬那么厲害而已,我是人工識別漂亮的小姐姐...

      即使現在的我也注冊了鵝廠的AI賬號,可我還是不會用。

      那么就先來點簡單的,提前關注好,然后利用Python實現自動化下載街拍視頻!!!

      / 01 / Charles

      用Charles來找視頻的API接口,具體操作和之前當當網那個案例一樣,不細說。

      這里通過滑動抖音App,可以獲取到視頻的請求信息。

      通過多次實驗,發現鏈接的后面是會不停的改變,只有鏈接的前頭始終不變,即「http://v1-dy」「http://v6-dy」「http://v9-dy」不變。

      所以在寫腳本的時候,可以以這些信息做為鏈接開頭。

      用Python全自動篩選抖音高顏值小姐姐視頻!

      / 02 / mitmproxy

      利用mitmproxy中的mitmdump組件,對接Python腳本,用Python實現監聽后的處理。

      這里我只是利用腳本獲取鏈接,并沒有直接利用腳本下載視頻。

      因為我是在mitmdump.exe文件所在的文件夾運行腳本,腳本里導入不了requests模塊。

      不想搞那些煩人的環境變量,所以只獲取鏈接。

      然后再去下載視頻,視頻鏈接需要去重,可能會有重復的。

      Python腳本如下。

      def?response(flow):

      urls?=?['http://v1-dy',?'http://v3-dy',?'http://v6-dy',?'http://v9-dy']

      #?對url進行篩選,只選取視頻的url

      for?url?in?urls:

      if?url?in?flow.request.url:

      print('\n\n抖音視頻\n\n')

      with?open('douyin.csv',?'a+',?encoding='utf-8-sig')?as?f:

      f.write(flow.request.url?+?'\n')

      / 03 / Appium

      配置抖音的Appium參數。

      點擊藍色按鈕,手機自動啟動抖音App!

      接下來操作手機,然后點擊Appium的刷新鍵,獲取元素定位代碼。

      通過本次的實踐發現Appium有時并不能很好的獲取元素的定位,這可能就跟Web端的iframe頁面一樣。

      所以針對找不到的元素,我直接對手機屏幕位置進行點擊。

      由于大家手機屏幕大小不同,這個參數肯定是會變化的,所以存在弊端,無法通用。

      {? 左右滑動切換圖片? }

      大致操作如上圖。UP主的主頁圖漏了,請自行腦補,Python代碼如下。

      import?time

      import?random

      from?appium?import?webdriver

      from?selenium.webdriver.common.by?import?By

      from?selenium.webdriver.support.ui?import?WebDriverWait

      from?appium.webdriver.common.touch_action?import?TouchAction

      from?selenium.webdriver.support?import?expected_conditions?as?EC

      def?main():

      #?設置驅動配置

      server?=?'http://localhost:4723/wd/hub'

      desired_caps?=?{

      'platformName':?'Android',

      'deviceName':?'STF_AL00',

      'appPackage':?'com.ss.android.ugc.aweme',

      'appActivity':?'.main.MainActivity',

      #?關閉手機軟鍵盤

      'unicodeKeyboard':?True,

      'resetKeyboard':?True

      }

      driver?=?webdriver.Remote(server,?desired_caps)

      wait?=?WebDriverWait(driver,?60)

      #?同意用戶隱私協議,點擊

      button_1?=?wait.until(EC.presence_of_element_located((By.ID,?'com.ss.android.ugc.aweme:id/q6')))

      button_1.click()

      #?禁止電話權限,點擊

      button_2?=?wait.until(EC.presence_of_element_located((By.ID,?'com.android.packageinstaller:id/permission_deny_button')))

      button_2.click()

      #?禁止位置權限,點擊

      button_3?=?wait.until(EC.presence_of_element_located((By.ID,?'com.android.packageinstaller:id/permission_deny_button')))

      button_3.click()

      time.sleep(2)

      #?向上滑動,進入抖音視頻播放頁面

      TouchAction(driver).press(x=515,?y=1200).move_to(x=515,?y=1000).release().perform()

      #?這里需要設置一個較長時間的延遲,因為抖音有引導操作和提示,需等待片刻

      time.sleep(20)

      #?點擊抖音"喜歡"處,以此進入登錄界面

      TouchAction(driver).press(x=950,?y=800).release().perform()

      #?點擊密碼登錄

      button_4?=?wait.until(EC.presence_of_element_located((By.ID,?'com.ss.android.ugc.aweme:id/afg')))

      button_4.click()

      #?輸入賬號

      button_5?=?wait.until(EC.presence_of_element_located((By.ID,?'com.ss.android.ugc.aweme:id/ab_')))

      button_5.send_keys('你的賬號')

      #?輸入密碼

      button_6?=?wait.until(EC.presence_of_element_located((By.ID,?'com.ss.android.ugc.aweme:id/aes')))

      button_6.send_keys('你的密碼')

      time.sleep(2)

      #?因為會跳出軟鍵盤,會遮擋登錄按鈕,需點擊軟鍵盤取消

      TouchAction(driver).press(x=980,?y=1850).release().perform()

      time.sleep(2)

      #?點擊登錄按鈕

      button_7?=?wait.until(EC.presence_of_element_located((By.ID,?'com.ss.android.ugc.aweme:id/abb')))

      button_7.click()

      time.sleep(2)

      #?登錄成功,進入抖音視頻界面,點擊下方標題欄?"我"

      TouchAction(driver).press(x=990,?y=1850).release().perform()

      #?進入個人主頁,點擊關注處

      button_8?=?wait.until(EC.presence_of_element_located((By.ID,?'com.ss.android.ugc.aweme:id/a_7')))

      button_8.click()

      #?進入關注欄,點擊第二個關注

      button_9?=?wait.until(EC.presence_of_element_located((By.XPATH,?'????/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.LinearLayout/android.support.v7.widget.RecyclerView/android.widget.RelativeLayout[2]/android.widget.RelativeLayout[1]')))

      button_9.click()

      #?進入UP主主頁,點擊第一個視頻

      button_10?=?wait.until(EC.presence_of_element_located((By.ID,?'com.ss.android.ugc.aweme:id/aqm')))

      button_10.click()

      #?不斷下滑頁面,直到底部

      while?True:

      TouchAction(driver).press(x=515,?y=1247).move_to(x=515,?y=1026).release().perform()

      time.sleep(float(random.randint(5,?10)))

      if?__name__?==?'__main__':

      main()

      下載視頻代碼,需要對視頻鏈接去重。

      import?pandas?as?pd

      import?requests

      import?os

      num?=?0

      dom?=?[]

      folder_path?=?"F:/video/"

      os.makedirs(folder_path)

      df?=?pd.read_csv('douyin.csv',?header=None,?names=["url"])

      #?對鏈接去重及去除剛進入抖音獲取的視頻鏈接

      for?i?in?df['url'][2:]:

      if?i?not?in?dom:

      dom.append(i)

      #?下載視頻

      for?j?in?dom:

      url?=?j

      num?+=?1

      response?=?requests.get(url,?stream=True)

      filename?=?str(num)?+?'.mp4'

      with?open('F:\\video\\'?+?filename,?'ab+')?as?f:

      f.write(response.content)

      f.flush()

      print(filename?+?'下載完成')

      最后成功獲取小姐姐們的全部視頻...

      要是曾經在廠子里的我,那時會這騷操作該多好,哈哈。

      其實我想的更多,多數妹子都挺喜歡拍抖音,不過她們應該不會下載這種操作滴。

      那么小老弟們的機會就來了,下載下來喜歡的妹子的抖音視頻。

      然后剪輯出一個「最美瞬間」系列的視頻,機會不就來了嘛...

      / 04 / 總結

      前些天有小伙伴叫我給公眾號改名,取個跟Pyhton有關的名字,更吸引人。

      說實話,我不太愿意,目前的我更趨向于做個人的自媒體,寫點屬于自己的文字。

      多點與學習,與生活有關的文字,有趣有料,開心就好!!!

      本文轉載自微信公眾號【java學習之道】。

      Python python

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:鯤鵬開發重點4--ARM 性能優化,簡要對標X86 Skylake
      下一篇:備份常見問題分享(下)
      相關文章
      亚洲黄色免费网站| 亚洲精品无码国产| 亚洲第一香蕉视频| 亚洲国产精品自在在线观看 | 亚洲一区二区三区在线| 久久精品国产亚洲AV麻豆网站| 亚洲av无码一区二区乱子伦as| 亚洲精品无码久久久久| 国产精品亚洲а∨无码播放| 国产亚洲精AA在线观看SEE| 亚洲精品美女久久777777| 亚洲精品色午夜无码专区日韩| 亚洲午夜久久久久久久久久| 在线观看亚洲av每日更新| 亚洲区不卡顿区在线观看| 国产精品亚洲综合专区片高清久久久| 亚洲AV蜜桃永久无码精品| 亚洲AV无码成人精品区大在线| 国产成人精品亚洲| 久久精品国产亚洲7777| 亚洲乱码日产一区三区| 亚洲国产成人高清在线观看| 亚洲国语精品自产拍在线观看| 精品日韩亚洲AV无码| 亚洲人成人77777网站不卡 | 亚洲中文字幕不卡无码| 亚洲国产精品无码久久SM| 亚洲国产成人久久综合碰碰动漫3d| 日本久久久久亚洲中字幕| 亚洲人成网站在线观看播放动漫 | 亚洲中文字幕视频国产| 亚洲熟妇无码八AV在线播放| 国产l精品国产亚洲区在线观看| 亚洲av福利无码无一区二区| 亚洲精品在线免费观看视频| 狠狠色伊人亚洲综合网站色 | 亚洲欧洲成人精品香蕉网| 亚洲电影中文字幕| 亚洲五月综合缴情婷婷| 亚洲成av人片在线天堂无| 亚洲精品高清在线|