Johnserf-Seed / TikTokDownload

抖音去水印批量下载用户主页作品、喜欢、收藏、图文、音频
https://github.com/Johnserf-Seed/f2
MIT License
6.42k stars 1.25k forks source link

分享一下我的成功使用经过(仅用4步操作),算是给刚入门或者下载失败的人一个参考 #683

Open wangnan789 opened 5 months ago

wangnan789 commented 5 months ago

桌面(请填写以下信息): -操作系统:[linux] -vpn代理:[关闭] -项目版本:[1.5.0.0] -py版本:[3.11.1] -下载平台:douyin.com

第 1 步

python3 -m venv py-env
source ./py-env/bin/activate

说明:在当前目录创建PY虚拟环境

第 2 步 pip3 install f2

说明:安装f2

第 3 步 修改配置 ./py-env/lib/python3.11/site-packages/f2/conf/app.yaml

douyin:
  cookie: 
  cover: false
  desc: no
  folderize: false
  interval: all
  languages: zh_CN
  max_connections: 5
  max_counts: 0
  max_retries: 4
  max_tasks: 6
  mode: post
  music: false
  naming: '{create}_{aweme_id}'
  page_counts: 20
  path: ./Download
  timeout: 6

说明:不要乱加引号,也不要使用“null” , 所有的冒号: 后面必须有一个空格。查看相关选项解释 f2 dy -h

第 4 步 使用浏览器登录抖音,然后关闭。命令行执行以下命令。支持的浏览器:chrome、firefox、edge、opera

f2 dy --auto-cookie firefox

说明:这会将cookie值自动写到配置里,千万不要去手工复制,格式不对将无法下载。

dy 表示抖音平台,查看其他平台 f2 -h

第 5 步 开始下载 f2 dy -u https://www.douyin.com/user/MS4wLjABAAAAXXXXXXXXXXXXXXXXXXXXXXXX

说明:下载抖音用户发布的作品。在第 3 步中“mode: post”是指用户发布的作品。

“https://” 这个不能少

重启电脑或命令行,只执行第 1 步 ,第 5 步

完。

qq517739813 commented 5 months ago

按照这个兄弟的步骤成功了 但我的步骤是cookie和url全部写到配置文件中其他的照抄这个朋友的, 直接执行f2 dy即可爬取,

BNO1GLEAM commented 5 months ago

操作系统:win10 项目版本:[1.5.0.0] 运行环境:python3.11.8

我根据你的方法也成功了,我也说一下我的操作吧。 1.cd到你想存放py虚拟环境的目录,例如: cd "D:\工具\7-音视频下载整理\TikTokTool V1.5"

2.执行 python -m venv venv 这将在当前目录下创建一个名为 venv 的虚拟环境文件夹

3.激活虚拟环境。输入: .\venv\Scripts\activate 执行此命令后,你会注意到命令提示符左侧出现了 (venv),表示虚拟环境已经激活。 如果这一步出现如下提示:因为在此系统上禁止运行脚本。有关 详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。 所在位置 行:1 字符: 1 你需要输入 Get-ExecutionPolicy Set-ExecutionPolicy RemoteSigned 来修改执行策略

4.输入 pip3 install f2 来安装f2

5.修改配置文件 修改配置 ./venv/lib/python3.11/site-packages/f2/conf/app.yaml

douyin:
  cookie: 
  cover: false
  desc: no
  folderize: false
  interval: all
  languages: zh_CN
  max_connections: 5
  max_counts: 0
  max_retries: 4
  max_tasks: 6
  mode: post
  music: false
  naming: '{create}_{aweme_id}'
  page_counts: 20
  path: ./Download
  timeout: 6

path: ./Download这里可以自行输入自己需要存放的目录,支持绝对路径和相对路径

6.打开edge浏览器或者是f2支持的浏览器扫码登录抖音之后关闭浏览器,然后在第4步的窗口中输入 f2 dy --auto-cookie firefox 此处的firefox是你的浏览器名称,例如edge firefox chrome,获取cookies

7.在第1步中的目录创建一个bat文件,和一个url.txt文本文档,在bat文件中输入如下内容

@echo off
rem 切换到指定目录
cd /d "#"

rem 激活虚拟环境
call .\venv\Scripts\activate

rem 读取同目录下的 url.txt 文件内容,并将内容保存到变量中
for /f "tokens=*" %%a in (url.txt) do (
    set "url=%%a"
)

rem 执行命令,并将变量中的内容用作参数
f2 dy -u %url%

rem 暂停窗口,直到按下任意键
pause

其中#为第1步中的目录,url.txt文本文档里面放入需要下载的抖音作者主页链接。 双击bat运行就会自动下载了,之后修改作者主页链接只需要在url.txt中修改作者链接就行了

harry122-dot commented 5 months ago

操作系统:win10 项目版本:[1.5.0.0] 运行环境:python3.11.8

我根据你的方法也成功了,我也说一下我的操作吧。 1.cd到你想存放py虚拟环境的目录,例如: cd "D:\工具\7-音视频下载整理\TikTokTool V1.5"

2.执行 python -m venv venv 这将在当前目录下创建一个名为 venv 的虚拟环境文件夹

3.激活虚拟环境。输入: .\venv\Scripts\activate 执行此命令后,你会注意到命令提示符左侧出现了 (venv),表示虚拟环境已经激活。 如果这一步出现如下提示:因为在此系统上禁止运行脚本。有关 详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。 所在位置 行:1 字符: 1 你需要输入 Get-ExecutionPolicy Set-ExecutionPolicy RemoteSigned 来修改执行策略

4.输入 pip3 install f2 来安装f2

5.修改配置文件 修改配置 ./venv/lib/python3.11/site-packages/f2/conf/app.yaml

douyin:
  cookie: 
  cover: false
  desc: no
  folderize: false
  interval: all
  languages: zh_CN
  max_connections: 5
  max_counts: 0
  max_retries: 4
  max_tasks: 6
  mode: post
  music: false
  naming: '{create}_{aweme_id}'
  page_counts: 20
  path: ./Download
  timeout: 6

path: ./Download这里可以自行输入自己需要存放的目录,支持绝对路径和相对路径

6.打开edge浏览器或者是f2支持的浏览器扫码登录抖音之后关闭浏览器,然后在第4步的窗口中输入 f2 dy --auto-cookie firefox 此处的firefox是你的浏览器名称,例如edge firefox chrome,获取cookies

7.在第1步中的目录创建一个bat文件,和一个url.txt文本文档,在bat文件中输入如下内容

@echo off
rem 切换到指定目录
cd /d "#"

rem 激活虚拟环境
call .\venv\Scripts\activate

rem 读取同目录下的 url.txt 文件内容,并将内容保存到变量中
for /f "tokens=*" %%a in (url.txt) do (
    set "url=%%a"
)

rem 执行命令,并将变量中的内容用作参数
f2 dy -u %url%

rem 暂停窗口,直到按下任意键
pause

其中#为第1步中的目录,url.txt文本文档里面放入需要下载的抖音作者主页链接。 双击bat运行就会自动下载了,之后修改作者主页链接只需要在url.txt中修改作者链接就行了 微信截图_20240405171639

huiyichenjiyi commented 5 months ago

能不能帮我看看我这个怎么弄,一直不行

lzlj1576 commented 5 months ago

有没有老师教一下我,怎么配置代理 12

Johnserf-Seed commented 5 months ago

lzlj1576

去低频配置文件f2\conf\conf.yaml里设置

wangnan789 commented 5 months ago

操作系统:win10 项目版本:[1.5.0.0] 运行环境:python3.11.8 我根据你的方法也成功了,我也说一下我的操作吧。 1.cd到你想存放py虚拟环境的目录,例如: cd "D:\工具\7-音视频下载整理\TikTokTool V1.5" 2.执行 python -m venv venv 这将在当前目录下创建一个名为 venv 的虚拟环境文件夹 3.激活虚拟环境。输入: .\venv\Scripts\activate 执行此命令后,你会注意到命令提示符左侧出现了 (venv),表示虚拟环境已经激活。 如果这一步出现如下提示:因为在此系统上禁止运行脚本。有关 详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。 所在位置 行:1 字符: 1 你需要输入 Get-ExecutionPolicy Set-ExecutionPolicy RemoteSigned 来修改执行策略 4.输入 pip3 install f2 来安装f2 5.修改配置文件 修改配置 ./venv/lib/python3.11/site-packages/f2/conf/app.yaml

douyin:
  cookie: 
  cover: false
  desc: no
  folderize: false
  interval: all
  languages: zh_CN
  max_connections: 5
  max_counts: 0
  max_retries: 4
  max_tasks: 6
  mode: post
  music: false
  naming: '{create}_{aweme_id}'
  page_counts: 20
  path: ./Download
  timeout: 6

path: ./Download这里可以自行输入自己需要存放的目录,支持绝对路径和相对路径 6.打开edge浏览器或者是f2支持的浏览器扫码登录抖音之后关闭浏览器,然后在第4步的窗口中输入 f2 dy --auto-cookie firefox 此处的firefox是你的浏览器名称,例如edge firefox chrome,获取cookies 7.在第1步中的目录创建一个bat文件,和一个url.txt文本文档,在bat文件中输入如下内容

@echo off
rem 切换到指定目录
cd /d "#"

rem 激活虚拟环境
call .\venv\Scripts\activate

rem 读取同目录下的 url.txt 文件内容,并将内容保存到变量中
for /f "tokens=*" %%a in (url.txt) do (
    set "url=%%a"
)

rem 执行命令,并将变量中的内容用作参数
f2 dy -u %url%

rem 暂停窗口,直到按下任意键
pause

其中#为第1步中的目录,url.txt文本文档里面放入需要下载的抖音作者主页链接。 双击bat运行就会自动下载了,之后修改作者主页链接只需要在url.txt中修改作者链接就行了 微信截图_20240405171639

请按提示操作

wangnan789 commented 5 months ago

能不能帮我看看我这个怎么弄,一直不行 (你这是无效沟通呀) 请补充问题,以及相关信息和截图

lzlj1576 commented 5 months ago

LZLJ1576型

去低频配置文件里设置f2\conf\conf.yaml 老师麻烦帮我看一下,我设置代理后下载报错,不知道怎么弄了 image

PS C:\Users\admin> f2 tk -u https://www.tiktok.com/@snowful_okok INFO App: tiktok Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "C:\Users\admin\AppData\Local\Programs\Python\Python311\Scripts\f2.exe__main.py", line 7, in File "C:\Users\admin\AppData\Local\Programs\Python\Python311\Lib\site-packages\click\core.py", line 1157, in call return self.main(*args, kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\admin\AppData\Local\Programs\Python\Python311\Lib\site-packages\click\core.py", line 1078, in main rv = self.invoke(ctx) ^^^^^^^^^^^^^^^^ File "C:\Users\admin\AppData\Local\Programs\Python\Python311\Lib\site-packages\click\core.py", line 1688, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\admin\AppData\Local\Programs\Python\Python311\Lib\site-packages\click\core.py", line 1434, in invoke return ctx.invoke(self.callback, ctx.params) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\admin\AppData\Local\Programs\Python\Python311\Lib\site-packages\click\core.py", line 783, in invoke return callback(*args, *kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\admin\AppData\Local\Programs\Python\Python311\Lib\site-packages\click\decorators.py", line 33, in new_func return f(get_current_context(), args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\admin\AppData\Local\Programs\Python\Python311\Lib\site-packages\f2\apps\tiktok\cli.py", line 333, in tiktok main_manager = ConfigManager(f2.APP_CONFIG_FILE_PATH) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\admin\AppData\Local\Programs\Python\Python311\Lib\site-packages\f2\utils\conf_manager.py", line 24, in init self.config = self.load_config() ^^^^^^^^^^^^^^^^^^ File "C:\Users\admin\AppData\Local\Programs\Python\Python311\Lib\site-packages\f2\utils\conf_manager.py", line 32, in load_config return yaml.safe_load(self.filepath.read_text(encoding="utf-8")) or {} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\admin\AppData\Local\Programs\Python\Python311\Lib\site-packages\yaml__init__.py", line 125, in safe_load return load(stream, SafeLoader) ^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\admin\AppData\Local\Programs\Python\Python311\Lib\site-packages\yaml__init__.py", line 81, in load return loader.get_single_data() ^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\admin\AppData\Local\Programs\Python\Python311\Lib\site-packages\yaml\constructor.py", line 51, in get_single_data return self.construct_document(node) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\admin\AppData\Local\Programs\Python\Python311\Lib\site-packages\yaml\constructor.py", line 60, in construct_document for dummy in generator: File "C:\Users\admin\AppData\Local\Programs\Python\Python311\Lib\site-packages\yaml\constructor.py", line 413, in construct_yaml_map value = self.construct_mapping(node) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\admin\AppData\Local\Programs\Python\Python311\Lib\site-packages\yaml\constructor.py", line 218, in construct_mapping return super().construct_mapping(node, deep=deep) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\admin\AppData\Local\Programs\Python\Python311\Lib\site-packages\yaml\constructor.py", line 143, in construct_mapping value = self.construct_object(value_node, deep=deep) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\admin\AppData\Local\Programs\Python\Python311\Lib\site-packages\yaml\constructor.py", line 100, in construct_object data = constructor(self, node) ^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\admin\AppData\Local\Programs\Python\Python311\Lib\site-packages\yaml\constructor.py", line 427, in construct_undefined raise ConstructorError(None, None, yaml.constructor.ConstructorError: could not determine a constructor for the tag 'tag:yaml.org,2002:python/tuple' in "", line 58, column 12: proxies: !!python/tuple

Johnserf-Seed commented 5 months ago

LZLJ1576型

去低频配置文件里设置f2\conf\conf.yaml 老师麻烦帮我看一下,我设置代理后下载报错,不知道怎么弄了 image

PS C:\Users\admin> f2 tk -u https://www.tiktok.com/@snowful_okok INFO App: tiktok Traceback (most recent call last): File "", line 198, in _run_module_as_main File "", line 88, in _run_code File "C:\Users\admin\AppData\Local\Programs\Python\Python311\Scripts\f2.exemain.py", line 7, in File "C:\Users\admin\AppData\Local\Programs\Python\Python311\Lib\site-packages\click\core.py", line 1157, in call return self.main(args, kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\admin\AppData\Local\Programs\Python\Python311\Lib\site-packages\click\core.py", line 1078, in main rv = self.invoke(ctx) ^^^^^^^^^^^^^^^^ File "C:\Users\admin\AppData\Local\Programs\Python\Python311\Lib\site-packages\click\core.py", line 1688, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\admin\AppData\Local\Programs\Python\Python311\Lib\site-packages\click\core.py", line 1434, in invoke return ctx.invoke(self.callback, ctx.params) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\admin\AppData\Local\Programs\Python\Python311\Lib\site-packages\click\core.py", line 783, in invoke return __callback(args, *kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\admin\AppData\Local\Programs\Python\Python311\Lib\site-packages\click\decorators.py", line 33, in new_func return f(get_current_context(), args, kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\admin\AppData\Local\Programs\Python\Python311\Lib\site-packages\f2\apps\tiktok\cli.py", line 333, in tiktok main_manager = ConfigManager(f2.APP_CONFIG_FILE_PATH) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\admin\AppData\Local\Programs\Python\Python311\Lib\site-packages\f2\utils\conf_manager.py", line 24, in init** self.config = self.load_config() ^^^^^^^^^^^^^^^^^^ File "C:\Users\admin\AppData\Local\Programs\Python\Python311\Lib\site-packages\f2\utils\conf_manager.py", line 32, in load_config return yaml.safe_load(self.filepath.read_text(encoding="utf-8")) or {} ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\admin\AppData\Local\Programs\Python\Python311\Lib\site-packages\yamlinit.py", line 125, in safe_load return load(stream, SafeLoader) ^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\admin\AppData\Local\Programs\Python\Python311\Lib\site-packages\yamlinit.py", line 81, in load return loader.get_single_data() ^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\admin\AppData\Local\Programs\Python\Python311\Lib\site-packages\yaml\constructor.py", line 51, in get_single_data return self.construct_document(node) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\admin\AppData\Local\Programs\Python\Python311\Lib\site-packages\yaml\constructor.py", line 60, in construct_document for dummy in generator: File "C:\Users\admin\AppData\Local\Programs\Python\Python311\Lib\site-packages\yaml\constructor.py", line 413, in construct_yaml_map value = self.construct_mapping(node) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\admin\AppData\Local\Programs\Python\Python311\Lib\site-packages\yaml\constructor.py", line 218, in construct_mapping return super().construct_mapping(node, deep=deep) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\admin\AppData\Local\Programs\Python\Python311\Lib\site-packages\yaml\constructor.py", line 143, in construct_mapping value = self.construct_object(value_node, deep=deep) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\admin\AppData\Local\Programs\Python\Python311\Lib\site-packages\yaml\constructor.py", line 100, in construct_object data = constructor(self, node) ^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\admin\AppData\Local\Programs\Python\Python311\Lib\site-packages\yaml\constructor.py", line 427, in construct_undefined raise ConstructorError(None, None, yaml.constructor.ConstructorError: could not determine a constructor for the tag 'tag:yaml.org,2002:python/tuple' in "", line 58, column 12: proxies: !!python/tuple

image

lwstudy commented 5 months ago

原本以为是cookie是取单独sessionId,偶然成功一次看到居然是全cookie。 1.用浏览器登录抖音 2.f2 dy --auto-cookie chrome/edge【因为我主要用这俩浏览器】 3.f2 dy -u https://www.douyin.com/user/* 步骤没毛病,终于成功了,之前跑代码用server.exe都不行,说开发环境flask用不了,太难受了

fungchunhoeasy commented 4 months ago

ERROR 请关闭所有已打开的浏览器重试,并且你有适当的权限访问浏览器! Aborted!

lwstudy commented 4 months ago

ERROR 请关闭所有已打开的浏览器重试,并且你有适当的权限访问浏览器! Aborted!

我在尝试edge的时候也会这样,最终还是用的chrome

Johnserf-Seed commented 4 months ago

ERROR 请关闭所有已打开的浏览器重试,并且你有适当的权限访问浏览器! Aborted!

我在尝试edge的时候也会这样,最终还是用的chrome

新版chromium内核都有驻留进程是为了加速下次启动,在托盘处设置了关闭就会真正退出了

zhiben5201 commented 4 months ago

请问按照这种方法,时间区间这个功能能正常通过修改app.yaml实现吗?目前用笨办法通过修改YAML运行F2版本是无法实现的,不起效,只有用命令行制定时间区间才有效,比较麻烦

我自己尝试成功了,这样总体算下来已经基本和旧版本一样方便了,非常感谢大佬辛苦总结用法

zhuangxuan commented 4 months ago

哪个大佬可以出个tiktok的下载视频呢,搞了几天了ticktok一直下载不下来

  1. 配置了代理在conf/app.yaml http: http://127.0.0.1:7890 https: http://127.0.0.1:7890 2. f2 tk --auto-cookie firefox -u https://www.tiktok.com/@kartunn5 -M post -i all 3. 有时候报WARNING 第 2 次响应内容为空, 状态码: 200 有时候 WechatIMG64

zhuangxuan commented 4 months ago

哪个大佬可以出个tiktok的下载视频呢,搞了几天了ticktok一直下载不下来 1. 配置了代理在conf/app.yaml http: http://127.0.0.1:7890 https: http://127.0.0.1:7890 2. f2 tk --auto-cookie firefox -u https://www.tiktok.com/@kartunn5 -M post -i all 3. 有时候报WARNING 第 2 次响应内容为空, 状态码: 200 有时候 WechatIMG64

最后报了这个错 2

arvinws commented 3 months ago

操作系统:win10 项目版本:[1.5.0.0] 运行环境:python3.11.8

我根据你的方法也成功了,我也说一下我的操作吧。 1.cd到你想存放py虚拟环境的目录,例如: cd "D:\工具\7-音视频下载整理\TikTokTool V1.5"

2.执行 python -m venv venv 这将在当前目录下创建一个名为 venv 的虚拟环境文件夹

3.激活虚拟环境。输入: .\venv\Scripts\activate 执行此命令后,你会注意到命令提示符左侧出现了 (venv),表示虚拟环境已经激活。 如果这一步出现如下提示:因为在此系统上禁止运行脚本。有关 详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。 所在位置 行:1 字符: 1 你需要输入 Get-ExecutionPolicy Set-ExecutionPolicy RemoteSigned 来修改执行策略

4.输入 pip3 install f2 来安装f2

5.修改配置文件 修改配置 ./venv/lib/python3.11/site-packages/f2/conf/app.yaml

douyin:
  cookie: 
  cover: false
  desc: no
  folderize: false
  interval: all
  languages: zh_CN
  max_connections: 5
  max_counts: 0
  max_retries: 4
  max_tasks: 6
  mode: post
  music: false
  naming: '{create}_{aweme_id}'
  page_counts: 20
  path: ./Download
  timeout: 6

path: ./Download这里可以自行输入自己需要存放的目录,支持绝对路径和相对路径

6.打开edge浏览器或者是f2支持的浏览器扫码登录抖音之后关闭浏览器,然后在第4步的窗口中输入 f2 dy --auto-cookie firefox 此处的firefox是你的浏览器名称,例如edge firefox chrome,获取cookies

7.在第1步中的目录创建一个bat文件,和一个url.txt文本文档,在bat文件中输入如下内容

@echo off
rem 切换到指定目录
cd /d "#"

rem 激活虚拟环境
call .\venv\Scripts\activate

rem 读取同目录下的 url.txt 文件内容,并将内容保存到变量中
for /f "tokens=*" %%a in (url.txt) do (
    set "url=%%a"
)

rem 执行命令,并将变量中的内容用作参数
f2 dy -u %url%

rem 暂停窗口,直到按下任意键
pause

其中#为第1步中的目录,url.txt文本文档里面放入需要下载的抖音作者主页链接。 双击bat运行就会自动下载了,之后修改作者主页链接只需要在url.txt中修改作者链接就行了

成功了,感谢大佬,有个问题url.txt可以改成多个地址么?

wangnan789 commented 3 months ago

有没有老师教一下我,怎么配置代理 12

建议使用全局代理

BNO1GLEAM commented 3 months ago

操作系统:win10 项目版本:[1.5.0.0] 运行环境:python3.11.8 我根据你的方法也成功了,我也说一下我的操作吧。 1.cd到你想存放py虚拟环境的目录,例如: cd "D:\工具\7-音视频下载整理\TikTokTool V1.5" 2.执行 python -m venv venv 这将在当前目录下创建一个名为 venv 的虚拟环境文件夹 3.激活虚拟环境。输入: .\venv\Scripts\activate 执行此命令后,你会注意到命令提示符左侧出现了 (venv),表示虚拟环境已经激活。 如果这一步出现如下提示:因为在此系统上禁止运行脚本。有关 详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。 所在位置 行:1 字符: 1 你需要输入 Get-ExecutionPolicy Set-ExecutionPolicy RemoteSigned 来修改执行策略 4.输入 pip3 install f2 来安装f2 5.修改配置文件 修改配置 ./venv/lib/python3.11/site-packages/f2/conf/app.yaml

douyin:
  cookie: 
  cover: false
  desc: no
  folderize: false
  interval: all
  languages: zh_CN
  max_connections: 5
  max_counts: 0
  max_retries: 4
  max_tasks: 6
  mode: post
  music: false
  naming: '{create}_{aweme_id}'
  page_counts: 20
  path: ./Download
  timeout: 6

path: ./Download这里可以自行输入自己需要存放的目录,支持绝对路径和相对路径 6.打开edge浏览器或者是f2支持的浏览器扫码登录抖音之后关闭浏览器,然后在第4步的窗口中输入 f2 dy --auto-cookie firefox 此处的firefox是你的浏览器名称,例如edge firefox chrome,获取cookies 7.在第1步中的目录创建一个bat文件,和一个url.txt文本文档,在bat文件中输入如下内容

@echo off
rem 切换到指定目录
cd /d "#"

rem 激活虚拟环境
call .\venv\Scripts\activate

rem 读取同目录下的 url.txt 文件内容,并将内容保存到变量中
for /f "tokens=*" %%a in (url.txt) do (
    set "url=%%a"
)

rem 执行命令,并将变量中的内容用作参数
f2 dy -u %url%

rem 暂停窗口,直到按下任意键
pause

其中#为第1步中的目录,url.txt文本文档里面放入需要下载的抖音作者主页链接。 双击bat运行就会自动下载了,之后修改作者主页链接只需要在url.txt中修改作者链接就行了

成功了,感谢大佬,有个问题url.txt可以改成多个地址么?

可以,用这个代码,他会依次下载你填入的url。可以依次填入多个url,不过速度有点慢,因为他会依次下载依次检测。使用方法就是在url.txt每一行填入一个作者主页地址


rem 切换到指定目录
cd /d "#"

rem 激活虚拟环境
call .\venv\Scripts\activate

rem 读取同目录下的 url.txt 文件内容,并将内容保存到变量中
for /f "tokens=*" %%a in (url.txt) do (
    set "url=%%a"
)

rem 执行命令,并将变量中的内容用作参数
f2 dy -u %url%

rem 暂停窗口,直到按下任意键
pause
qq517739813 commented 2 months ago

兄弟们,dy可以不用配置代理,但是tk这个代理是如何配置啊,我自己用的是clash 一个机场的连接该怎么配置呢

Johnserf-Seed commented 2 months ago

兄弟们,dy可以不用配置代理,但是tk这个代理是如何配置啊,我自己用的是clash 一个机场的连接该怎么配置呢

clash配置到系统代理,然后写到conf.yaml配置文件里去 image image

qq517739813 commented 2 months ago

兄弟们,dy可以不用配置代理,但是tk这个代理如何配置啊,我自己用的只是与机场的连接该怎么配置呢

配置到系统代理,然后写到conf.yaml那里 图像 图像

感谢作者的回复, 按照给的内容打开了手动代理, ip 端口 127.0.0.1 7890 配置了conf.yaml 中tk的 proxy proxies: http:// : http://127.0.0.1:7890 https:// : http://127.0.0.1:7890 使用f2 tk -u https://www.tiktok.com/@asherlyn23 启动后提示网络有问题 使用f2 -c app.yaml 提示找不到配置文件

zhiben5201 commented 2 months ago

Traceback (most recent call last): File "C:\Users\15920\AppData\Local\Programs\Python\Python310\lib\runpy.py", line 196, in _run_module_as_main return _run_code(code, main_globals, None, File "C:\Users\15920\AppData\Local\Programs\Python\Python310\lib\runpy.py", line 86, in _run_code exec(code, run_globals) File "C:\Users\15920\AppData\Local\Programs\Python\Python310\Scripts\f2.exe__main.py", line 7, in sys.exit(main()) File "C:\Users\15920\AppData\Local\Programs\Python\Python310\lib\site-packages\click\core.py", line 1157, in call return self.main(*args, kwargs) File "C:\Users\15920\AppData\Local\Programs\Python\Python310\lib\site-packages\click\core.py", line 1078, in main rv = self.invoke(ctx) File "C:\Users\15920\AppData\Local\Programs\Python\Python310\lib\site-packages\click\core.py", line 1688, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File "C:\Users\15920\AppData\Local\Programs\Python\Python310\lib\site-packages\click\core.py", line 1434, in invoke return ctx.invoke(self.callback, ctx.params) File "C:\Users\15920\AppData\Local\Programs\Python\Python310\lib\site-packages\click\core.py", line 783, in invoke return callback(*args, kwargs) File "C:\Users\15920\AppData\Local\Programs\Python\Python310\lib\site-packages\click\decorators.py", line 33, in new_func return f(get_current_context(), args, kwargs) File "C:\Users\15920\AppData\Local\Programs\Python\Python310\lib\site-packages\f2\apps\douyin\cli.py", line 429, in douyin ctx.invoke(set_cli_config, kwargs) File "C:\Users\15920\AppData\Local\Programs\Python\Python310\lib\site-packages\click\core.py", line 783, in invoke return __callback(args, kwargs) File "C:\Users\15920\AppData\Local\Programs\Python\Python310\lib\site-packages\click\decorators.py", line 33, in new_func return f(get_current_context(), *args, **kwargs) File "C:\Users\15920\AppData\Local\Programs\Python\Python310\lib\site-packages\f2\cli\cli_commands.py", line 137, in set_cli_config asyncio.run(run_app(kwargs)) File "C:\Users\15920\AppData\Local\Programs\Python\Python310\lib\asyncio\runners.py", line 44, in run return loop.run_until_complete(main) File "C:\Users\15920\AppData\Local\Programs\Python\Python310\lib\asyncio\base_events.py", line 649, in run_until_complete return future.result() File "C:\Users\15920\AppData\Local\Programs\Python\Python310\lib\site-packages\f2\cli\cli_commands.py", line 145, in run_app await app_module.main(kwargs) File "C:\Users\15920\AppData\Local\Programs\Python\Python310\lib\site-packages\f2\apps\douyin\handler.py", line 865, in main await mode_function_mapmode File "C:\Users\15920\AppData\Local\Programs\Python\Python310\lib\site-packages\f2\apps\douyin\handler.py", line 218, in handle_user_post async for aweme_data_list in fetch_user_post_videos( File "C:\Users\15920\AppData\Local\Programs\Python\Python310\lib\site-packages\f2\apps\douyin\handler.py", line 284, in fetch_user_post_videos aweme_data_list = video._to_list() File "C:\Users\15920\AppData\Local\Programs\Python\Python310\lib\site-packages\f2\apps\douyin\filter.py", line 309, in _to_list attr_values = getattr(self, key) File "C:\Users\15920\AppData\Local\Programs\Python\Python310\lib\site-packages\f2\apps\douyin\filter.py", line 218, in video_bit_rate return [ File "C:\Users\15920\AppData\Local\Programs\Python\Python310\lib\site-packages\f2\apps\douyin\filter.py", line 222, in if len(aweme) == 1 TypeError: object of type 'NoneType' has no len() 这个有办法解决吗