当前位置:首页>python>Python获取抖音账号直播情况

Python获取抖音账号直播情况

  • 2026-10-11 07:10:47
Python获取抖音账号直播情况
仅限学习思路,请勿做非法操作。
from selenium import webdriverfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.support.ui import WebDriverWaitfrom selenium.webdriver.chrome.options import Optionsimport timeimport smtplibfrom email.mime.text import MIMEText# 主播列表anchors = [    {"name": "周部长", "url": "https://www.douyin.com/user/MS4wLjABAAAAeoMuVszxObWFBPpSDc8HfS5GBSj_gG6Ns-6Nvn74sK2OJgFnLhsozOGw5o4YWo4E"},    {"name": "李老师", "url": "https://www.douyin.com/user/MS4wLjABAAAAzKCY3-lmvC51lLIKKiIMFGDVQgGKnXpjIefa7dqbNGk"},    {"name": "池", "url": "https://www.douyin.com/user/MS4wLjABAAAAG7wWa4ENsnLFn_gd-3VPn-FLRosN_NB2YpJW0QmZXpsP2qvSBi38gA6GHj4dWWTT"}]# 邮箱配置(你提供的smtp信息)EMAIL_CONFIG = {    "smtp_server": "smtp.189.cn",    "smtp_port": 465,    "username": "",    "password": "",    "sender": "",    "receiver": ""}def send_email(content):    try:        msg = MIMEText(content, "plain", "utf-8")        msg["Subject"] = "抖音主播直播状态检测报告"        msg["From"] = EMAIL_CONFIG["sender"]        msg["To"] = EMAIL_CONFIG["receiver"]        with smtplib.SMTP_SSL(EMAIL_CONFIG["smtp_server"], EMAIL_CONFIG["smtp_port"]) as server:            server.login(EMAIL_CONFIG["username"], EMAIL_CONFIG["password"])            server.sendmail(EMAIL_CONFIG["sender"], EMAIL_CONFIG["receiver"], msg.as_string())        print("📩 邮件发送成功!")    except Exception as e:        print(f"邮件发送失败:{e}")def check_douyin_live_batch():    chrome_options = Options()    chrome_options.add_argument("--headless=new")    chrome_options.add_argument("--disable-gpu")    chrome_options.add_argument("--no-sandbox")    chrome_options.add_argument("--disable-dev-shm-usage")    chrome_options.add_argument("--window-size=1920,1080")    chrome_options.add_argument("user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36")    driver = webdriver.Chrome(options=chrome_options)    result = ""    for anchor in anchors:        name = anchor["name"]        url = anchor["url"]        line = f"\n===== {name} =====\n"        print(line)        try:            driver.get(url)            time.sleep(6)            live1 = driver.find_elements(By.XPATH, "//span[contains(text(), '直播中')]")            live2 = driver.find_elements(By.XPATH, "//a[contains(., '直播中')]")            live3 = driver.find_elements(By.XPATH, "//div[contains(., '直播中')]")            enter_btn = driver.find_elements(By.XPATH, "//*[contains(text(), '进入直播间')]")            if live1 or live2 or live3 or enter_btn:                res = f"✅ {name}:正在直播"            else:                res = f"❌ {name}:未直播"            print(res)            result += res + "\n"        except Exception as e:            err = f"⚠️ {name} 检测失败:{str(e)}"            print(err)            result += err + "\n"    driver.quit()    send_email(result)if __name__ == "__main__":    check_douyin_live_batch()
通过selenium和webdriver获取账户直播情况(是否在直播),并通过smtp邮件通知。这里我设置不显示打开浏览器的自动操作。

最新文章

随机文章