溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么使用Python自動化實現(xiàn)抖音自動刷視頻

發(fā)布時間:2023-03-21 16:23:41 來源:億速云 閱讀:176 作者:iii 欄目:開發(fā)技術(shù)

這篇文章主要介紹了怎么使用Python自動化實現(xiàn)抖音自動刷視頻的相關(guān)知識,內(nèi)容詳細(xì)易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇怎么使用Python自動化實現(xiàn)抖音自動刷視頻文章都會有所收獲,下面我們一起來看看吧。

環(huán)境準(zhǔn)備

  • Python3.5以上

  • Appium Server服務(wù)器

  • Android SDK,需要用到adb服務(wù)

  • 需要依賴Appium-Python-Client組件庫

  • 真機(jī)或者模擬器,推薦模擬器(真機(jī)一般安卓8版本以上了,appium對安卓8以上版本元素獲取的兼容性不太好)

  • JDK8環(huán)境

實現(xiàn)

確保adb服務(wù)和appium服務(wù)及真機(jī)/模擬器正常打開,然后在真機(jī)/模擬器上將抖音打開。

確定需要的參數(shù)

參數(shù)基本上都是固定的,只需要確定抖音的包名和活動頁即可。

adb shell dumpsys window | findstr mCurrentFocus獲取到抖音的包名數(shù)據(jù),最后代碼里的參數(shù):

desired_caps = {
    "platformName": "Android",    # 平臺是安卓的
    "deviceName": "127.0.0.1:62001",  # 通過 adb devices命令獲取
    "appPackage": "com.ss.android.ugc.aweme",    # 抖音包名
    "appActivity": ".splash.SplashActivity",    # 活動頁
    "platformVersion":"7.1" # 7.1.2
}

參數(shù)整完記得項目跑起來測試一下。

控制模擬器進(jìn)入抖音后

我們需要去獲取頁面上的元素或坐標(biāo),來實現(xiàn)滑動視頻等其他操作。

到我們的Android SDK的tools目錄下使用uiautomatoviewer.bat取頁面快照。

操作的過程其實相對簡單,就是實現(xiàn)頁面滑動即可;可能會遇到彈框、點(diǎn)擊授權(quán)之類的,處理一下即可。然后還需要注意的就是元素的加載時間問題,盡量考慮好網(wǎng)絡(luò)、設(shè)備等其他因素,將等待時間放長些。

# @creator by wlh
# @date 2023/3/15 19:43
import time

from appium import webdriver
from appium.webdriver.common.touch_action import TouchAction
from selenium.webdriver.common.by import By
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as ec

desired_caps = {
    "platformName": "Android",
    "deviceName": "127.0.0.1:62001",  # 通過 adb devices命令獲取
    "appPackage": "com.ss.android.ugc.aweme",
    "appActivity": ".splash.SplashActivity",
    "platformVersion": "7.1"  # 7.1.2
}

driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", desired_capabilities=desired_caps)

driver.implicitly_wait(20)    # 等待彈框元素
driver.find_element(By.XPATH, "//*[@text='同意']").click()
driver.implicitly_wait(20)    # 等待彈框元素
driver.find_element(By.XPATH, "//*[@text='允許']").click()

time.sleep(1.5)
size = driver.get_window_size()
width, height = size['width'], size['height']    # 獲取屏幕寬高

action = TouchAction(driver)
for i in range(5):
    # 實現(xiàn)滑動
    action.press(x=width / 2, y=height / 3 * 2).wait(500).move_to(x=width / 2, y=height / 3).release()
    action.perform()
    try:
        # 3s后 彈框元素不出現(xiàn),直接跳過繼續(xù)執(zhí)行
        WebDriverWait(driver, 3).until(ec.presence_of_element_located((By.XPATH, "//*[@text='允許']")))
        driver.find_element(By.XPATH, "//*[@text='允許']").click()
    except:
        pass

time.sleep(5)
driver.close_app()
driver.quit()

關(guān)于“怎么使用Python自動化實現(xiàn)抖音自動刷視頻”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對“怎么使用Python自動化實現(xiàn)抖音自動刷視頻”知識都有一定的了解,大家如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI