日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

基于Python實現全自動下載抖音視頻

瀏覽:55日期:2022-07-06 10:07:36

很多人喜歡玩抖音,我也喜歡看抖音小姐姐,可拿著手機一個個找視頻太費勁。作為一個程序員,如何能在電腦前一邊編程一邊輕松地看抖音小姐姐呢?

下面利用Python,簡單的三個步驟就可以將你喜歡的抖音小姐姐的視頻自動下載下來了。

Charles

Charles是一個App抓包工具,與Filddler的功能相似,利用它可以得到App運行過程中發生的所有網絡請求和響應內容。

在電腦端下載安裝完Charles后,需要配置證書,最后開啟SSL監聽。

手機端則是需要與電腦在同一網絡下,比如都連接家里的Wi-Fi,然后在手機的Wi-Fi高級選項里使用Charles代理,輸入電腦的IP地址,端口8888,最后為證書命名。

連好以后,手機打開抖音App,隨著操作App的動作,可以獲取到視頻的請求信息。

基于Python實現全自動下載抖音視頻

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

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

MitmProxy

基于Python實現全自動下載抖音視頻

利用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(’nn抖音視頻nn’) with open(’douyin.csv’, ’a+’, encoding=’utf-8-sig’) as f:f.write(flow.request.url + ’n’)

配置抖音的Appium參數:

基于Python實現全自動下載抖音視頻

點擊藍色按鈕,手機自動啟動抖音App。接著操作手機,然后點擊Appium的刷新鍵,獲取元素定位代碼。

通過本次的實踐發現Appium有時并不能很好的獲取元素的定位,針對找不到的元素,我直接對手機屏幕位置進行點擊。

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

左右滑動切換圖片

基于Python實現全自動下載抖音視頻

基于Python實現全自動下載抖音視頻

基于Python實現全自動下載抖音視頻

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

import timeimport randomfrom appium import webdriverfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.support.ui import WebDriverWaitfrom appium.webdriver.common.touch_action import TouchActionfrom selenium.webdriver.support import expected_conditions as ECdef 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 pdimport requestsimport osnum = 0dom = []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 + ’下載完成’)

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

基于Python實現全自動下載抖音視頻

我打算將視頻里喜歡的妹子全剪輯出來,做一個「最美瞬間」系列的視頻,分享給大家!

源碼地址:

https://github.com/Tobby-star/douyin

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: 抖音 Python
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产亚洲欧美日韩精品一区二区三区 | 欧美日韩亚洲三区| 亚洲狼人精品一区二区三区| 中文一区二区| 在线免费观看亚洲| 欧美在线看片| 精品高清久久| 久久一区精品| 日韩中文首页| 夜夜嗨一区二区三区| 天堂精品久久久久| 欧美a级一区二区| 四虎4545www国产精品 | 国产一区二区三区网| 久久一区二区三区喷水| 99在线精品免费视频九九视| 91国语精品自产拍| 日韩av在线播放中文字幕| 国产精品红桃| 日韩成人高清| 五月国产精品| 国产66精品| 亚洲一区二区三区四区五区午夜| 日韩欧美美女在线观看| 国产h片在线观看| 久久亚洲精品伦理| 国产精品久久久久久模特| 日韩国产在线| 亚洲精品日韩久久| 国产精品二区不卡| 在线视频日韩| 麻豆精品新av中文字幕| 91综合网人人| 激情91久久| 精品亚洲a∨| 亚洲高清av| 国产精品久久久网站| 久久网站免费观看| 国产精品蜜月aⅴ在线| 在线亚洲激情| 四季av一区二区凹凸精品| 亚洲专区欧美专区| 麻豆视频在线看| 久久国产生活片100| 欧美日韩高清| 国产一区二区三区精品在线观看| 亚洲高清二区| 国产精品美女久久久久久不卡| 好看的av在线不卡观看| 精品国产亚洲日本| 午夜天堂精品久久久久| 婷婷成人综合| 国产日韩欧美三区| 国产精品毛片在线看| 国产精品久久久久久久久妇女| 在线精品观看| 欧美亚洲精品在线| 国产一区丝袜| 91精品国产自产精品男人的天堂 | 精品免费在线| 日韩欧美在线精品| av最新在线| 日本不卡在线视频| 国产综合精品| 日韩一区电影| 成人日韩av| 国产精品亚洲产品| 日韩高清一区在线| 天堂av在线一区| 狠狠干综合网| 九九综合九九| 麻豆mv在线观看| 国产精品白丝久久av网站| 日本不卡不码高清免费观看| 日本美女一区| 精品三级av| 九九九精品视频| 美女在线视频一区| 久久不见久久见中文字幕免费| 日韩av三区| 日本综合视频| 丝袜诱惑制服诱惑色一区在线观看 | 日本久久成人网| 黄色在线观看www| 国产精品白丝久久av网站| 日韩成人午夜精品| 男女男精品网站| 亚洲国产一区二区三区在线播放| 亚洲不卡系列| 久久影院一区| 亚洲午夜黄色| 午夜精品网站| 免费视频久久| 丝袜a∨在线一区二区三区不卡| 欧美日韩高清| 亚洲夜间福利| 久久亚洲欧洲| 日本欧美大码aⅴ在线播放| 欧美日韩中文| 免费在线亚洲欧美| 韩国女主播一区二区三区| 成人在线视频中文字幕| 国产精品一级| 国产一区丝袜| 亚洲一级少妇| 久久一级电影| 国产精品女主播一区二区三区| 国产综合精品一区| 亚洲精品成人| 亚洲精品精选| 久久不卡国产精品一区二区| 麻豆视频观看网址久久| 国产一区二区色噜噜| 日韩中文影院| 国产色综合网| 人人爱人人干婷婷丁香亚洲| 麻豆成人综合网| 久久国产精品美女| 一本大道色婷婷在线| 久久亚洲专区| 亚洲精品第一| 嫩草伊人久久精品少妇av杨幂| 超碰99在线| 视频一区二区三区中文字幕| 日韩福利视频导航| 91欧美日韩| 六月婷婷一区| 日韩高清不卡在线| 精品国产乱码| 欧美日韩在线网站| 亚洲毛片在线| 国产精品久久观看| 欧美日韩中文字幕一区二区三区| 一区二区电影在线观看| 国产精品美女午夜爽爽| 久久毛片亚洲| 欧美综合二区| 久久午夜影院| 国产综合精品| 国产亚洲精品精品国产亚洲综合| 久久久久久婷| 久久性天堂网| 超级白嫩亚洲国产第一| 男人的天堂亚洲一区| 国产精品草草| 国产日韩专区| 91亚洲国产| 亚洲欧洲日本mm| 另类欧美日韩国产在线| 午夜在线精品| 成人午夜网址| 亚洲精品一级二级三级| 日韩av免费大片| 蜜桃视频一区二区三区| 久久精品一区| 日韩午夜在线| 福利一区和二区| 亚洲伊人影院| 欧美色图一区| 久久精品免费看| 男人的天堂亚洲一区| 国产综合色区在线观看| 日韩精品一卡二卡三卡四卡无卡| 精品免费av一区二区三区| 综合欧美精品| 蜜臀av免费一区二区三区| 国产亚洲欧美日韩精品一区二区三区| 在线日韩欧美| 色婷婷综合网| 国产精品欧美在线观看| 中文字幕免费精品| 蜜桃tv一区二区三区| 国产一区二区三区四区五区 | 日韩精品一级| 久久人人97超碰国产公开结果| 久久激情五月婷婷| 亚洲伊人影院| 亚洲欧美日本国产专区一区| 亚洲精品一级二级| 精品久久精品| 麻豆精品蜜桃视频网站| 日韩一区二区三区精品视频第3页 日韩一区二区三区免费视频 | 99久久夜色精品国产亚洲狼 | 精品中文一区| 国产69精品久久| 国产乱人伦精品一区| 一级成人国产| 免费视频久久| 黄色成人在线网址| 欧美高清不卡| 99久久激情| 日韩一区二区在线免费| 日韩av一区二| 在线精品一区二区| 日韩一级网站| 亚洲美洲欧洲综合国产一区 | 日韩久久一区| 综合亚洲视频| 亚洲精品无播放器在线播放| 蜜桃久久精品一区二区|