python获取抖音号发布数据

抖音视频数据获取流程如下
在这里插入图片描述

每个抖音账号都有自己的主页地址,且这个地址不用登录。
人民日报的抖音账号主页地址如下
https://www.douyin.com/user/MS4wLjABAAAA8U_l6rBzmy7bcy6xOJel4v0RzoR_wfAubGPeJimN__4
但是在视频列表地址加载的时候会有随机且唯一的key跟在url后面,浏览器F12和postApi都不好使。
只有使用selenium通过chromedriver直接打开浏览器操作了

from selenium import webdriver
from selenium.webdriver.common.by import By
import time
from selenium.webdriver import ActionChains
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from datetime import datetime
import logging
import json
import pymysql

# 创建一个logger
logger = logging.getLogger('my_logger')
logger.setLevel(logging.DEBUG)  # 设置日志级别

# 创建一个handler,用于写入日志文件
fh = logging.FileHandler('dy.log', encoding='utf-8')  # 日志文件名

# 定义handler的输出格式
formatter = logging.Formatter(
    '%(asctime)s - %(name)s - %(levelname)s - %(message)s')
fh.setFormatter(formatter)

# 给logger添加handler
logger.addHandler(fh)

chrome_option = Options()

chrome_option.
### 使用Python获取视频的元数据 对于希望获取视频数据的需求,可以利用第三方库来实现这一目标。由于官方API并不公开所有所需接口,开发者通常会选择非官方API或通过解析网页的方式来抓取信息。 #### 方法一:使用`douyin-py`库 这是一个专门用于访问平台资源的Python库,能够方便地提取视频详情、评论和其他相关信息。 安装方法如下: ```bash pip install douyin-py ``` 下面是一个简单的例子展示如何获取特定用户的发布作品列表及其对应的元数据: ```python from douyin import DouYinClient, VideoDownloader client = DouYinClient() user_videos = client.get_user_posts('用户ID') for video in user_videos: print(f"Video Title: {video.title}") print(f"Publish Date: {video.create_time}") print(f"Play Address: {video.play_addr}") print(f"Cover Image URL: {video.cover_url}\n") ``` 此段代码会打印出每个视频的基本属性,如标题、发布时间戳以及播放地址等[^1]。 #### 方法二:基于Selenium模拟浏览器行为爬虫 如果遇到某些情况下无法直接调用API的情况,则可以通过自动化控制真实浏览器加载页面并读取DOM中的有用信息。这种方法虽然效率较低且容易被反爬机制阻止,但在特殊场景下仍然有效。 首先需要安装必要的依赖项: ```bash pip install selenium webdriver-manager ``` 接着编写脚本来启动Chrome实例,并导航至指定链接处等待元素渲染完成后再进行下一步操作: ```python import time from selenium import webdriver from webdriver_manager.chrome import ChromeDriverManager from bs4 import BeautifulSoup as soup def get_video_info(url): options = webdriver.ChromeOptions() options.add_argument('--headless') # 不显示窗口模式运行 driver = webdriver.Chrome(ChromeDriverManager().install(), chrome_options=options) try: driver.get(url) # 等待页面完全加载完毕再继续执行后续逻辑 time.sleep(5) page_source = driver.page_source parsed_html = soup(page_source,'html.parser') title_element = parsed_html.find("div", {"class": "desc"}).text.strip() if parsed_html.find("div", {"class": "desc"}) else None author_name = parsed_html.select_one('.nickname').get_text(strip=True) if parsed_html.select_one('.nickname') else None like_count = int(parsed_html.select_one('.like-count').get_text(strip=True)) if parsed_html.select_one('.like-count') else 0 return { 'title': title_element, 'author': author_name, 'likes': like_count } finally: driver.quit() if __name__ == "__main__": url = input("请输入要查询的视频URL:") info = get_video_info(url) print(info) ``` 这段程序将会返回给定网址对应视频的一些基本信息,比如作者名字、点赞数和描述文字等内容[^2]。 需要注意的是,在实际应用过程中应当遵循各网站的服务条款规定,合理合法地运用这些技术手段来进行数据分析工作。此外,随着算法更新和技术进步,上述方案可能需要不断调整优化才能保持良好效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值