自动化抖音登录并获取视频链接

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

在这篇博客中,我将详细介绍如何使用 Selenium 和 Python 来自动化登录抖音并获取特定用户发布的视频链接。这个项目可以用于个人学习或数据分析等目的。请确保在合法和道德的范围内使用此脚本,避免侵犯隐私或其他法律问题。


提示:以下是本篇文章正文内容,下面案例可供参考

一、环境准备

首先,您需要安装 Python 和 Selenium 库,以及对应的 WebDriver。本教程使用的是 Microsoft Edge 浏览器,因此需要下载 Edge 的 WebDriver。

安装 Python:

确保您的计算机已安装 Python。

安装 Selenium:

打开命令行工具,运行以下命令:

pip install selenium

下载 WebDriver:

根据您的 Edge 浏览器版本,从 Microsoft 官网 下载对应版本的 在这里插入图片描述

二、使用步骤

下面的 Python 脚本包含了自动化处理的完整步骤:

设置 WebDriver

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.edge.service import Service as EdgeService
from selenium.webdriver.edge.options import Options as EdgeOptions

edge_service = EdgeService(executable_path="E:/Project/pythonProject5/msedgedriver.exe")
edge_options = EdgeOptions()
driver = webdriver.Edge(service=edge_service, options=edge_options)

在这部分代码中,我们设置了 Selenium 用于操作 Edge 浏览器的 WebDriver。您需要替换 executable_path 为您的 msedgedriver.exe 文件的实际路径。

登录抖音

driver.get("https://www.douyin.com")
time.sleep(70)  # 手动登录并完成验证

这里,脚本将打开抖音的登录页面,您需要在这70秒内手动完成登录和验证步骤。

获取并保存 Cookies

cookies = driver.get_cookies()
driver.quit()

登录后,脚本会获取并保存当前的 Cookies,这些 Cookies 将用于之后的自动登录。

使用 Cookies 实现自动登录

driver = webdriver.Edge(service=edge_service, options=edge_options)
driver.get("https://www.douyin.com/user/MS4wLjABAAAAgMQy4T8hCfLX9FNagKRebwDXFF8iKZExbzcv9sBePEc?modal_id=7373376408967564544&vid=7373376408967564544")

for cookie in cookies:
    driver.add_cookie(cookie)

driver.refresh()
time.sleep(5)

这部分代码重新打开浏览器,使用之前保存的 Cookies 自动登录到指定的用户页面。

获取视频 URL

video_sources = driver.find_elements(By.XPATH, '//video/source[@src]')

for source in video_sources:
    video_url = source.get_attribute('src')
    print(f"Video URL: {video_url}")

driver.quit()

最后,脚本搜索页面中的视频元素,并打印出视频的直接链接。

结论

通过本项目为通过 Selenium 自动化工具来控制浏览器,实现对抖音视频链接的自动获取。这只是一个简单示例,还可以在此基础上扩展更多的功能,如自动化视频下载、分析视频内容等。
在这里插入图片描述

延伸:根据之前爬取的视频url批量下载视频

import requests
def download_video(video_urls):
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36 Edg/126.0.0.0',
        'referer':'https://www.douyin.com/'
    }

    for i, url in enumerate(video_urls):
        response = requests.get(url, stream=True, headers=headers)
        if response.status_code == 200:
            with open(f"video_{i+1}.mp4", 'wb') as f:
                for chunk in response.iter_content(chunk_size=1024):
                    f.write(chunk)
            print(f"下载完成: video_{i+1}.mp4")
        else:
            print(f"下载失败: {url}, 状态码: {response.status_code}")

# URL 列表
video_urls = [
    "https://v3-web.douyinvod.com/a13376a396c310b60f24991ebdd5ba5a/6699daf9/video/tos/cn/tos-cn-ve-15c001-alinc2/oME9ecETnRr4j7DgBgfZFKADQ5IEswwpA3UmmA/?a=6383&br=1426&bt=1426&btag=80000e00030000&cd=0%7C0%7C0%7C3&ch=26&cquery=100H_100K_100o_100w_100B&cr=3&cs=0&cv=1&dr=0&ds=6&dy_q=1721348019&feature_id=f0150a16a324336cda5d6dd0b69ed299&ft=AJkeU_TERR0sLOC3NDv2Nc0iPMgzbL0m8usU_4iYIhJJNv7TGW&is_ssr=1&l=202407190813382ABC986EA3258D65BFB8&lr=all&mime_type=video_mp4&qs=0&rc=NjQ0NzloZDczODpnNTY4aUBpajd0cW05cnRxczMzNGkzM0AtYWA2Yy8tX2IxY2EwLjJiYSNgLTBmMmRjcDZgLS1kLTBzcw%3D%3D4",
    "https://v3-web.douyinvod.com/eee97364c03b2550ae09872fce5b1ee3/6699db91/video/tos/cn/tos-cn-ve-15c001-alinc2/oYvQCEhS05mADDNWN2iNBidA9ArBPgeDWIfJN8/?a=6383&ch=164&cr=3&dr=0&lr=all&cd=0%7C0%7C0%7C3&cv=1&br=1432&bt=1432&cs=0&ds=3&ft=AJkeU_TERR0sLOC3NDv2Nc0iPMgzbL1rzusU_4iYIhJJNv7TGW&mime_type=video_mp4&qs=1&rc=aDhoNTo5OTs4ZmU1ODM2ZUBpanZybXM5cjw1czMzNGkzM0AyMTJhLl5jXi4xMWMuMDBiYSMub140MmRjcm5gLS1kLTBzcw%3D%3D&btag=c0000e00028000&cquery=100K_100o_101s_100B_100H&dy_q=1721348257&feature_id=46a7bb47b4fd1280f3d3825bf2b29388&l=20240719081736D5C304AA58C47467E724&__vid=7382577994998484251"

]

download_video(video_urls)

在这里插入图片描述
在这里插入图片描述

  • 5
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值