Skip to content
/ douyin Public

抖音爬虫——采集账号主页、喜欢、收藏、音乐原声、话题、搜索、合集、作品、关注、粉丝等公开数据。

License

Notifications You must be signed in to change notification settings

erma0/douyin

Repository files navigation

douyin

✨抖音爬虫

❤️开源不易,欢迎star⭐

📢声明

本项目初衷为学习python爬虫、命令行调用Aria2python实现WebUI的案例,程序功能为获取抖音平台上公开的信息,仅用于测试和学习研究,禁止用于商业用途或任何非法用途。

任何用户直接或间接使用、传播本仓库内容时责任自负,本仓库的贡献者不对该等行为产生的任何后果负责。

如果相关方认为该项目的代码可能涉嫌侵犯其权利,请及时联系我删除相关代码

使用本仓库的内容即表示您同意本免责声明的所有条款和条件。如果你不接受以上的免责声明,请立即停止使用本项目。


🏠项目地址

https://github.com/erma0/douyin

🍬功能

🎈获取抖音网页以下公开的数据信息:

  • 指定作品数据
  • 指定用户资料信息
  • 指定用户主页作品数据
  • 指定用户喜欢作品数据
  • 指定用户收藏作品数据
  • 指定音乐原声作品数据
  • 指定挑战话题作品数据
  • 指定合集作品数据
  • 指定用户关注列表数据
  • 指定用户粉丝列表数据
  • 指定关键词搜索作品数据
  • 指定关键词搜索用户数据
  • 指定关键词搜索直播数据
  • 指定作品评论数据
  • 指定作品评论回复数据

PS.

  • 支持输入文件路径批量操作(一行一个目标地址)
  • 支持增量采集指定用户主页作品
  • 部分作品封面不准确,原因不明

‍🚩待办

💡欢迎PR或建议

  • 完善程序 - 更新功能
  • GUI - Eel

🚀使用

📍测试环境:Win10 x64 + Python3.12

📭功能未全部测试,有问题请提交issue(请提供测试链接以便复现问题)

🍪获取cookie

🟢注意: cookie是有过期时间的,有效cookie内容一般在60条左右。

  1. 打开抖音网页版(推荐使用Chrome/Edge),按F12打开开发者工具,切换到网络/Network标签页

  2. 没有请求就刷新一下,找到https://www.douyin.com/或者其他JSON请求(可以在 过滤/筛选器 中输入cookie-name:odin_tt

  3. 标头/Headers中找到请求标头/Request Headers,复制Cookie的值,保存到config/cookie.txt文件中。

PS. 可以使用-c edge/chrome命令自动获取本地edge/chrome浏览器中的cookie,不过取到的cookie不一定有效,且有效期很短,仅作为备选功能使用(实测chrome有效,Edge经常无效)。

⚠️ 据说用作品详情页中/aweme/v1/web/aweme/detail/接口请求带的cookie成功率较高。

🉑直接运行

下载dist目录中的douyin.exe,在程序所在目录打开命令行,输入对应命令,或者直接双击打开douyin.exe后根据提示输入目标链接即可。

⚠️ Linux或macOS请从官方地址下载对应的Aria2,然后自行修改源码调试运行

🐔命令行使用帮助

./douyin -h

🏀命令行使用例子(先在程序所在目录打开命令行

  • 获取指定用户主页/音乐/话题/合集/作品等数据

    # 部分类型链接可以自动识别,其他需要使用-t指定类型 
    ./douyin -u https://*/
    ./douyin -t search -u https://*/
    # -t, --type 指定类型:
        'post':用户主页作品
        'like':用户喜欢作品
        'music':音乐原声作品
        'hashtag':话题作品
        'search':搜索作品
        'collection':合集作品
        'favorite':用户收藏作品
        'video':单个视频作品
        'note':单个图文作品
        'follow':用户关注列表
        'fans':用户粉丝列表
        'user':搜索用户
        'live':搜索直播(暂未实现)
  • 获取当前用户喜欢/收藏作品等数据

    ./douyin -t like
  • 其他功能

    # -l 限制数量,只需要前5条结果
    ./douyin -l 5 -u https://*/ 
    
    # 连续输入多个目标地址
    ./douyin -u https://*1/ -u https://*2/ 
    
    # 输入文件[user.txt]中的多个目标
    ./douyin -u ./user.txt
  • 💡 手动使用aria2c下载

    aria2c -c --console-log-level warn -i 生成的下载配置文件.txt

也可参考test_douyin.py文件中的代码使用

🔨编译

  1. 安装依赖

    pip install -r ./requirements.txt
  2. 安装pyinstaller

    pip install -U pyinstaller
  3. 打包EXE,图标可自行更换

    pyinstaller -F ./cli.py -i ./static/ico.ico -n douyin --add-data "lib:lib" --add-data "aria2c.exe:."
    
    # 或者使用配置文件
    pyinstaller ./douyin.spec

Star History

Star History Chart

About

抖音爬虫——采集账号主页、喜欢、收藏、音乐原声、话题、搜索、合集、作品、关注、粉丝等公开数据。

Topics

Resources

License

Stars

Watchers

Forks

Languages