仓库默认显示开发分支,改动可能尚未发布到 PyPI,正式版以 f2.wiki 文档为准;部分功能需登录并配置 Cookie 才能下载私密或收藏内容;旧版配置文件格式已更新,升级时需迁移配置
多平台作品下载与接口数据处理的 Python 库,支持抖音、TikTok、Twitter、微博等
支持抖音、TikTok、B站、微博、Twitter 等多平台的高速下载器,用 Python 写成,适合批量抓取视频和图文内容。
核心能力
- 提供 DouYin、TikTok、Twitter、WeiBo 等平台下载接口
- 内置 XBogus/ABogus 签名与 msToken、ttwid 等参数生成工具
- 支持抖音与 TikTok 直播流下载及弹幕转发
- 提供 CLI 命令行与配置文件,可临时覆盖配置
- 可提取用户、作品、合集、直播间 ID 等工具类
容易踩的坑
- v0.0.1.7最新正式版2024-12-31 · 2024-12-31 20:20 UTC
2025年元旦快乐🎉🎉🎉
[0.0.1.7] - 2024-12-31
Added
- 添加
douyin动图作品接口维护输出 #218 - 添加无法查看网页端
weibo的异常处理 #223 - 添加
douyin批量采集直播的代码片段 - 添加
Babel依赖 - 添加支援电子邮件地址 ->
[email protected] - 添加文档域名 ->
f2.wiki - 添加所有应用
Bark推送服务 - 添加启用应用
Bark加密推送配置 - 添加生成
pot文件批处理 - 添加
Bark加密推送模式 - 添加生成随机字节数字方法
- 添加
bark通过设备token推送接口端点 - 添加
RSA加密工具类 - 添加
AES加密工具类 - 添加使用
bark端点文件生成接口 - 添加替换配置文件中空值为空字符串
- 添加
douyin作品状态统计方法 - 添加
douyin作品状态统计接口 - 添加
cli_commands覆盖率测试 - 添加
x书签(收藏)推文模式 - 添加
x喜欢推文模式 - 添加提取
x标题方法 - 添加
weibo工具类测试用例 - 为
QA添加'NoneType' has no len()解决方案 - 添加
interval参数通用的方法处理 - 统一使用
Live管理进度条任务 - 新增
weibo文案提取方法 - 添加通用过滤器转列表的方法
- 允许中断来跳过版本检查
- 添加
tiktok proto元数据 - 主配置添加
Bark token配置 - 添加
Bark volume配置 - 添加
tiktok wss客户端配置管理方法 - 添加
tiktok作品区间interval参数支持 - 添加
Bark警告通知级别 https://github.com/Finb/Bark/issues/152 - 添加
tiktok直播间信息与弹幕信息回调方法 - 添加
tiktok直播弹幕接口模型 - 添加
tiktok直播间接口模型 - 添加
tiktok基础直播间接口模型 - 为
douyin弹幕爬虫添加代理参数 - 添加弹幕输出开关
- 添加了通知推送
Bark应用 - 添加了代理验证功能
- 添加
douyin直播间消息显示参数 - 添加
bark通知配置 - 添加
douyin本地wss客户端配置 - 添加
tiktok弹幕接口 - 添加
douyin作品翻页时间码显示 - 新增实况图集下载 #75
- 新增
douyin本地弹幕wss转发服务 - 新增大量
douyin直播间弹幕回调接口 - 添加抖音
live作品解析 - 添加支持
proxy的websockets依赖 - 添加
py版本检查 - 添加筛选作品
filter_by_date_interval方法 - 添加
interval_2_timestamp方法 - 添加
str_2_timestamp方法 - 在异步线程池中检测
F2版本
Changed
- 优化
tiktok播放列表相关方法 - 优化
douyin动态作品错误的处理 - 优化注册信号类
- 调整进度条的完成百分比为
2位小数 - 优化直播流
504状态码的处理 - 优化应用任务通知结构
- 为
weibo详情过滤器添加nickname_raw字段 - 优化选择
Bark加密通知判断逻辑 - 分离
douyin房间号提取方法 - 改进
x短链的解析与错误捕获 - 改进错误捕获与代码规范
- 增加
tiktok SecUserIdFetcher类的稳定性 tiktok提取secUid方法支持视频链接- 优化下载
douyin直播流超时处理捕获层级 - 更新
bark模式列表与其他调整 - 更新
x工具类方法注释与方法名 - 添加贡献者 #213
- 更新
x获取用户唯一ID类名 - 修改
x爬虫初始化可接受x_csrf_token参数 - 将
weibo用户id变量名改回uid - 更新
tiktok odin_tt生成方法 - 改进直播流下载时受服务器返回的
HTTP不规范的错误 - 更新
docs工作流为pnpm包管理器 - 更新
bark加密推送,改用随机iv - 取消
AES算法CBC模式一起返回Iv的情况 - 为
Bark接口爬虫GET方法添加URL转义 - 为
bark基础模型添加默认值 - 修复
bark token校验函数 - 更新
douyin好友作品接口模型缺失值 - 调整
douyin通过app分享的直播短链问题情况 - 调整堆积的丢失信息影响下载任务显示
- 调整
douyin视频默认清晰度地址,最高可下4K作品 #209 - 更新
douyin代码片段 #197 - 优化
x一些边界情况处理 - 分离获取
weibo用户数据的2种方法 - 计算
x推文数量时过滤空值 - 调整
x应用细节 - 更新
x喜欢模式 - 更新爬取
x主页推文方法 - 更新
x用户推文数据过滤器 - 优化
x下载器 - 更新
x接口模型 - 手动刷新
live管理器防止闪屏 - 完善
douyin测试用例 - 调整
base_crawler异常捕获 - 改进
weibo方法为异步生成器并添加翻页 - 调整
weibo提取文案的方法 - 更改默认异步事件循环作用域,确保兼容性
- 更新
x发布时间字段 - 更新项目
python最低要求版本 >=3.10.0 - 优化了过滤器性能并提取为通用方法
- 更新
weibo下载器 - 更新
timestamp_2_str方法,新增列表转换与递归 - 更新关闭信号注册入口
- 更新
ua版本126->130 - 支持自定义
ua生成abogus - 更新代码片段
- 使用异步任务处理
douyin直播弹幕信息 - 更新
douyin proto元数据 - 优化
base_crawler,添加更多边界处理 - 为文本正则解析方法添加空值处理
- 极大提升
jsonpath解析性能 - 捕获
yaml格式错误导致无法解析 - 修改终端输出格式
- 捕获
tk设备id注册时因网络问题导致的出错 - 更新
douyin直播消息callback方法 - 优化
douyin本地WebSocket服务性能 - 更新
douyin直播BattleTeamTaskMessage消息proto结构体 - 调整
douyin图集文件回webp格式 - 添加毫秒级时间戳字符串转换
- 优化时间戳转字符串函数
- 重写
json_filter逻辑 - 完善
douyin直播protobuf - 优化抖音
interval参数的作品解析 - 完善静态类型检查
- 调整进度条显示 #105
- 更新
douyin处理下载任务 - 更新
douyin筛选日期区间作品方法 - 更新日志文件名
- 调整
i18n方法防止重复导入错误 - 更新
douyinabogus代码片段 - 更新
vitepress工作流 - 更新
tiktok的webmssdk版本号 - 更新
douyin直播signature参数 - 更新
douyin弹幕sdk版本1.0.12->1.0.14-beta.0
- 添加
- v0.0.1.62024-06-28 · 2024-06-28 10:40 UTC
查看更新说明
[0.0.1.6] - 2024-05-04
Added
- 添加
weibo应用 - 添加
abogus(limit ua)加密 - 添加
douyin加密算法切换配置 - 添加基础接口模型转url类
- 添加
WebSocket爬虫客户端 - 添加
douyin直播wss签名管理器 - 添加
douyin直播wss签名生成类 - 添加
douyin工具JS库webmssdk.es5-1.0.0.53 - 添加
douyin直播间弹幕wss接口 - 添加
F2版本检测 - 添加
tiktok直播间开播状态 - 添加
PyExecJS==1.5.1依赖 - 添加
protobuf==4.23.0依赖 - 添加
websockets>=11.0依赖 - 添加
tiktok的device_id注册与cookie管理类 - 添加
douyin生成webid配置 - 添加
douyin关注用户直播 - 添加
douyin,tiktok模型配置 - 添加
conf.yaml配置版本号 - 添加
tiktok集成测试 - 添加
traceback输出 - 添加
douyin短剧作品 - 添加同步客户端的同步
transport - 添加同步客户端
- 添加
douyin直播弹幕初始化 - 添加
douyin合集mix_id获取方法 - 添加
douyin查询用户 - 添加时间戳转换的默认时区设置(
UTC/GMT+08:00) - 添加
ClientConfManager为每个应用提供方便的配置读取 - 添加
uniqueId查询tiktok的user_db - 添加获取
segments的duration列表方法 - 添加应用运行模式的输出
- 新增
tiktok作品搜索 - 新增
tiktok用户直播 - 添加反转义
JSON方法 - 新增
douyin相关推荐 - 新增
douyin好友作品
Changed
- 更新
__aexit__方法 - 更新
douyin加密算法代码片段 - 更新
weibo测试用例 - 优化命令不存在的输出
- 取消接口数据过滤器对
bool的预处理 - 调整停止异步任务信号
- 更新
douyin的xbogus调用 - 为装饰器文件重命名
- 更新获取
Content-Length的方法 - 防止
douyin直播结束时下载崩溃 - 更新
BaseCrawler类处理httpx即将弃用proxies参数 - 更新
tiktok的msToken配置 - 修复
ClientConfManager参数 - 更新了所有应用配置
- 重构了所有工具类方法
- 更新
base_downloader的区块下载参数 - 修改
douyin生成的ttwid将绑定ua - 修改
tiktok用户直播下载流地址 - 修改
douyin,tiktok获取用户信息方法名 - 完善时间戳转换类型,支持30位
- 修改应用的代理配置名(
http: https: -> http://: https://:) - 更新
xb算法示例部分 - 更新
base_crawler异常捕获与输出 - 更新应用初始化配置文件后退出 (#70)
- 更新应用使用
--auto-cookie命令后退出 - 更新
douyin过滤器,将video_play_addr返回完整视频列表便于下载失败轮替 - 更改
douyin图集文件名(jpg -> webp) - 更改应用直播下载文件名(
mp4 -> flv) - 更新应用工具类网络错误捕获
Deprecated
- 弃用
douyinSSO扫码登录 - 类
BaseModel中的dict方法已弃用(pydantic>=2.6.4) - 类
datetime中的utcnow方法已弃用 - 弃用
douyin,tiktok获取用户名方法
Removed
- 删除
tiktok基础请求模型的无用参数 - 删除
f2\utils\utils.py无效导入
Fixed
- 修复
douyin接口更新导致的错误 #104 - 修复
_dl日志输出 - 修复
douyin下载合集时合集链接无法识别的情况 - 修复
tiktok下载播放列表(合集)的错误 - 修复
m3u8流下载时会重复下载ts片段的问题 - 修复
m3u8流获取content_length时没有提供代理参数造成的访问失败 - 修复
douyin,tiktok因提前引发异常导致无法生成虚假的msToken
Security
- 更新
pytest版本到8.2.1 - 更新
pydantic版本到2.6.4 - 更新
httpx版本到0.27.0 - 更新
aiosqlite版本到0.20.0
Resolve
https://github.com/Johnserf-Seed/f2/issues/104 https://github.com/Johnserf-Seed/f2/issues/103 https://github.com/Johnserf-Seed/f2/issues/102 https://github.com/Johnserf-Seed/f2/issues/99 https://github.com/Johnserf-Seed/f2/issues/98 https://github.com/Johnserf-Seed/f2/issues/95 https://github.com/Johnserf-Seed/f2/issues/88 https://github.com/Johnserf-Seed/f2/issues/79 https://github.com/Johnserf-Seed/f2/issues/78 https://github.com/Johnserf-Seed/TikTokDownload/issues/703 https://github.com/Johnserf-Seed/TikTokDownload/issues/718 https://github.com/Johnserf-Seed/TikTokDownload/issues/711 https://github.com/Johnserf-Seed/TikTokDownload/issues/702
What's Changed
- V0.0.1.5 pw2 -> main 24/Feb/28 文档内容修复 by @Johnserf-Seed in https://github.com/Johnserf-Seed/f2/pull/50
- Release v0.0.1.5 pw2累计更新修复 24/Feb/24 - 24/Apr/04 by @Johnserf-Seed in https://github.com/Johnserf-Seed/f2/pull/68
- fix douyin mix& f2 ci yml from v0.0.1.6 pw2 on 24/Apr/07 by @Johnserf-Seed in https://github.com/Johnserf-Seed/f2/pull/71
- fix tiktok mix& f2 readme from v0.0.1.6 pw2 on 24/Apr/09 by @Johnserf-Seed in https://github.com/Johnserf-Seed/f2/pull/72
- merge Codecov.yml main -> v0.0.1.6-pw2 by @Johnserf-Seed in https://github.com/Johnserf-Seed/f2/pull/73
Full Changelog: https://github.com/Johnserf-Seed/f2/compare/v0.0.1.5...v0.0.1.6
- 添加
- v0.0.1.5pre-release2024-04-04 · 2024-04-04 16:55 UTC
查看更新说明
[0.0.1.5] - 2024-04-04
Added
- 添加安全政策汇报
- 添加
run_app时输出版本号 - 添加
douyin用户收藏夹下载 - 添加
douyin的filter对非法收藏夹名字符的处理 - 添加
douyin用户音乐收藏下载 - 添加
douyin音乐歌词json转lrc方法 - 添加
douyin用户收藏音乐下载任务 - 添加
douyin配置--lyric - 添加
f2 utils的get_cookie_from_browser方法 - 添加
f2 utils的check_invalid_naming方法 - 添加
f2 utils的merge_config方法 - 添加
douyin粉丝用户接口方法(#59) - 添加
douyin关注用户接口方法(#59) - 添加
douyin,tiktok数据过滤器的原始字段 - 添加对30位时间戳进行格式化
- 添加测试抖音原声歌词转换
- 添加获取抖音用户粉丝代码片段(#59)
- 添加获取抖音用户关注代码片段(#59)
- 添加
fetch方法的timeout参数,避免请求过于频繁 - 添加
douyin用户收藏夹代码片段 - 添加对丢失链接的重试逻辑
- 添加
自定义UA生成XBogus参数 - 添加
douyin,tiktok对UserProfile请求内容为空的报错
Changed
- 修改
douyin主页收藏模式为collection - 更正
douyin文档user-mix方法 - 修改
F2版本号输出 - 修改
douyin,tiktok帮助信息 - 优化
douyin,tiktok的utils中msToken,ttwid,sec_user_id,aweme_id,webcast_id,具体请求错误的输出 - 明确
douyin,tiktok所有fetch函数返回为过滤器类型 - 更新了F2版本号的导入
- 优化
tiktok的handler处理播放列表的逻辑 - 优化
douyin,tiktok中对具体请求错误的输出 - 更正
douyin,tiktok受collects_id类型导致的多次转换 - 更正
tiktok的handler多种获取用户信息方法的参数 - 添加
base_downloader对重命名文件时的异常处理 - 更新
_dl的head请求Content-Length失效时调用get方法 - 更新
douyin,tiktok接口文档代码片段 - 更新
douyin,tiktok在cli中的handler_auto_cookie方法 - 更新
douyin,tiktok在cli中的handler_naming方法 - 更新
douyin,tiktok的--mode统一choice管理 - 更新
F2帮助说明格式 - 统一了
douyin关注粉丝用户的total字段 - 修改下载逻辑以提高性能
- 更新
douyin,tiktok数据库字段(需要删除旧数据库或迁移) - 优化
douyin,tiktok的handler模块注释表达与方法参数格式 - 重构了所有
handle方法的调用 - 重构了所有
fetch方法的返回类型 - 调整
douyinmix作品在没有更多数据时提前break - 调整
tiktok获取用户数据去除地区参数 - 优化在适当的位置
yield作品数据 - 修改日志输出级别
- 重构数据库异常类
- 重构文件异常类
- 重构接口异常类
- 完善
i18n消息
Deprecated
- 弃用
douyinUserLiveFilter的无用方法 - 弃用
douyinPostDetailFilter的无用方法
Removed
- 删除文档旧版本
-d指令 - 移除
tiktok的post\detail接口示例 - 删除无用的
__init__.py文件 - 删除
douyin,tiktok:cli下的get_cookie_from_browser方法 - 删除
example示例 - 删除无用导入
- 删除
apps中db模块的aiosqlite导入与错误处理
Fixed
- 修复本地化服务(#58)
- 修复
douyin关注用户数据过滤器_to_list方法的排除字段 - 修复
douyin数据过滤器时间戳类型
Security
- 更新
rich版本到13.7.1 - 更新
douyin接口版本到19.5.0
What's Changed
- Merge pull request #19 from Johnserf-Seed/main by @Johnserf-Seed in https://github.com/Johnserf-Seed/f2/pull/20
- 0.0.1.2版本更新 by @Johnserf-Seed in https://github.com/Johnserf-Seed/f2/pull/21
- V0.0.1.3 pw1 24/01/05-24/01/07 累积更新修复 by @Johnserf-Seed in https://github.com/Johnserf-Seed/f2/pull/24
- v0.0.1.4累计更新修复 24/Jan/07 - 24/Feb/16 by @Johnserf-Seed in https://github.com/Johnserf-Seed/f2/pull/39
- V0.0.1.4 pw1文档更新 by @Johnserf-Seed in https://github.com/Johnserf-Seed/f2/pull/46
- main -> v0.0.1.5-pw2 24/Feb/21- 24/Feb/27 by @Johnserf-Seed in https://github.com/Johnserf-Seed/f2/pull/49
Full Changelog: https://github.com/Johnserf-Seed/f2/compare/v0.0.1.4...v0.0.1.5
- v0.0.1.4pre-release2024-02-15 · 2024-02-15 17:32 UTC
查看更新说明
What's Changed
修复 [Fixed]
- 修复了非Windows系统下创建长中文名文件出错的问题 #34 https://github.com/Johnserf-Seed/TikTokDownload/issues/653 https://github.com/Johnserf-Seed/TikTokDownload/issues/636 https://github.com/Johnserf-Seed/TikTokDownload/issues/483
- 修复了接口缺失时间戳值导致的问题 #23
- 修复了
douyinutils模块对aweme_id的处理 - 修复了CLI参数合并时的一些问题,确保自定义配置的正确性
- 修复了
douyin直播嵌套ts文件无法获取字节大小的问题 https://github.com/Johnserf-Seed/TikTokDownload/issues/649 - 修复了
douyin收藏作品下载错误的问题 https://github.com/Johnserf-Seed/TikTokDownload/issues/650 - 修复了示例代码片段与开发者文档代码片段
- 修复了cli退出时
base_downloader出现UnboundLocalError错误的问题 - 修复了
base_downloader下载文件区块时未能正确捕获超时错误 - 修复了在更新配置时缺少自定义配置文件路径的问题
- 修复了
get_or_add_user_data中的AttributeError问题 - 修复了数据库文件名
- 修复了部分自定义配置失效的问题
修改 [Change]
- 修改了日志输出,以便更好地了解配置加载情况
- 修改了
TokenManager里固定配置的读取方式,增强了配置的易用性和可维护性 - 修改了默认低频主配置文件、F2低频配置文件
- 修改了配置文件与CLI命令,解决了部分自定义配置失效的问题
- 修改了部分方法的签名,提升了代码清晰度和可读性
更新 [Update]
- 更新了翻译文件和模板
- 更新了app帮助说明
- 更新了文档内容和静态文件
- 更新了
base_crawler的POST获取json方法 - 重新设计了处理配置参数的逻辑,提升了性能和灵活性
- 更新了模块捕获错误时显示具体类名
- 更新了默认低频主配置文件和F2低频配置文件
- 更新了依赖库版本,确保兼容性 https://github.com/Johnserf-Seed/TikTokDownload/issues/641
- 更新了TikTok和Douyin的开发者接口文档和代码片段
添加 [Add]
- 添加了默认低频配置文件路径,用于生成app配置文件
- 添加了QA文档,提供了常见问题与解决办法
- 添加了app
cli模块的merge_config方法 - 添加了写入配置文件时处理文件权限问题的功能
- 添加了所有单元测试的path注释
- 添加了对于不同操作系统下文件名长度的处理方法
- 添加了不同app
utils模块的连接失败与错误处理 - 添加了提取有效URL的错误类型
- 添加了douyin msToken值验证
改进 [Improve]
- 改进了部分单元测试代码,提升了代码质量
- 改进了douyin的handler_sso_login方法,保证配置文件路径正确
- 优化了异常处理机制,使得错误信息更加详细和可读
- 改进了
base_downloader无代理配置默认值 - 改进了app
crawler无代理配置默认值 - 改进了app
handler类的结构和清晰度 - 改进了日志输出,增加了配置加载情况的显示
- 重写了配置参数的处理逻辑,提升了性能和可维护性
删除 [Delete]
- 删除了pot翻译模板文件
- 删除了无用的测试文件和部分注释代码
- 删除了弃用文档
- 移除了一些不必要的依赖和配置项
- 删除了不再使用的接口和方法
- 删除了F2主配置文件中的代理值与无效值
- 删除了一些注释
- 删除了
base_crawler模块选择随机代理的注释代码
其他 [Other]
- 进行了代码格式化和优化,增强了代码的可读性和可维护性
- 解决了一些Bug和错误,提升了程序的稳定性和可靠性
[Issues]
#23 #34 https://github.com/Johnserf-Seed/TikTokDownload/issues/483 https://github.com/Johnserf-Seed/TikTokDownload/issues/636 https://github.com/Johnserf-Seed/TikTokDownload/issues/641 https://github.com/Johnserf-Seed/TikTokDownload/issues/649 https://github.com/Johnserf-Seed/TikTokDownload/issues/650 https://github.com/Johnserf-Seed/TikTokDownload/issues/653
Full Changelog: https://github.com/Johnserf-Seed/f2/compare/v0.0.1.3...v0.0.1.4
- v0.0.1.3f2-0.0.1.3pre-release2024-01-07 · 2024-01-07 11:45 UTC
查看更新说明
What's Changed
- V0.0.1.3 pw1 24/01/05-24/01/07 累积更新修复 by @Johnserf-Seed in https://github.com/Johnserf-Seed/f2/pull/24
[Issues]
https://github.com/Johnserf-Seed/f2/issues/22 https://github.com/Johnserf-Seed/TikTokDownload/issues/634 https://github.com/Johnserf-Seed/TikTokDownload/issues/632 https://github.com/Johnserf-Seed/TikTokDownload/issues/629 https://github.com/Johnserf-Seed/TikTokDownload/issues/626 https://github.com/Johnserf-Seed/TikTokDownload/issues/625
Full Changelog: https://github.com/Johnserf-Seed/f2/compare/v0.0.1.2-pw1...v0.0.1.3-pw1
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
仓库默认显示开发分支(目前为
v0.0.1.8-pw3),其中的改动可能尚未发布到 PyPI。正式版的使用文档以 f2.wiki 为准。
F2 是一个 Python 库,提供多平台的作品下载与接口数据处理。支持 DouYin、TikTok、Twitter、WeiBo 等平台,且方便适配更多平台。
🚀 快速入门
⚙️ 安装
⚡ 快速使用
📋 配置文件
💻 命令行
📚 进阶用法
- DouYin 批量采集直播流
- DouYin 直播弹幕转发
- 文档还在进一步更新中...
🧐 FAQ
👏 团队
📘 开发指南
📝 API示例
🧩 开发者接口
🖥️ 命令行指引
✨ 新变化
当下载或升级到 F2 的不同版本时,请注意以下关键的版本更新。
- 🚀 新增 Bark 应用支持 请前往 App Store 下载 Bark,并在 F2 配置文件 中完成相关配置。
- 🛡️ 开放
ab算法 已开源满血版ab算法,支持自定义UA。请确保自定义UA符合规范。 - 📡 新增直播弹幕转发功能
支持
douyin与tiktok直播弹幕转发,请根据 WSS 配置指南 完成相应参数配置。 - 🔔 启用通知推送
如需启用应用通知推送,请在 F2 配置文件 中设置
enable_bark参数为true。 - 📄 更多变更详情 请查看完整的 ChangeLog。
- 🛠️ 配置文件格式已更新 如果你使用旧版配置文件,请注意进行迁移。
- 🌍 时区标准化
所有时间戳的默认时区已设置为
UTC/GMT+08:00。 - 📁 文件格式调整
douyin直播流文件名调整为flv。- 图集格式调整回
webp。
- 🔄 错误修复
修复了
tiktok视频地址403错误。 👉 了解更多解决方案 - 🛡️ 算法优化
douyin现在默认使用ab算法进行请求。(满血版ab算法即将开源) - 📄 更多变更详情 👉 查看 ChangeLog
- 🛡️ 自定义 UA 支持
XBogus参数现在支持自定义UA,请确保UA符合规范。 - 📊 数据库重建 重建后的数据库包含接口的原始数据。 👉 如需保留旧记录,请注意迁移或备份。
- 🔄 返回类型统一
所有
fetch方法的返回类型已统一为过滤器类型,请注意相关变化。 - 🛠️ 新功能
添加了
_to_raw方法,可将过滤器转换为原始接口数据。 - 📝 文件名模板更新 如果文件名不符合新规范,将抛出异常,请检查并调整。
- 🔗 链接解析修复
修复了
douyin合集页链接无法解析的问题。 👉 了解更多 - 📄 更多变更详情 👉 查看 ChangeLog
📑 文档
F2 的目标是提供一个简单易用的接口,让用户可以快速获取作品数据。
在 preview 版本中很多功能没有完善,如果你发现了问题,请在 F2 项目中提交 issue。
项目文档 还在完善中,存在滞后的情况,请保持关注。
🗓️ Todo
- 将在
0.0.1.8版本中添加BiliBili&NetEaseMusic支持。 - 将在
0.0.1.8版本中维护更多的API与CLI功能。 - 优化
F2的CLI体验。 - 添加
Socket代理支持。 - 添加
Cookie池,Proxy池,User-Agent池等支持。 - 添加
F2的WebAPI版本。 - 更多计划
🐛 更新
💡 应用&功能
功能状态:🟢代表已经实现,🟡代表正在实现,🟤代表暂时不实现,🔵代表未来实现,🔴代表将会弃用。 账号状态:⚪代表未知,🟣代表需要登录(无视自己账号隐私设置),⚫代表不需要登录(游客状态能看到的)。
完整的功能列表请查看 API文档。
| 功能 | 账号状态 | 接口 | 功能状态 |
|---|---|---|---|
| 发送通知(GET) | ⚪ | fetch_bark_notification | 🟢 |
| 发送通知(POST) | ⚪ | post_bark_notification | 🟢 |
| 发送加密通知 | ⚪ | cipher_bark_notification | 🟢 |
| 工具类 | 类名 | 接口 | 功能状态 |
|---|---|---|---|
| 管理客户端配置 | ClientConfManager | - | 🟢 |
| 生成随机数字字节 | - | generate_numeric_bytes | 🟢 |
| 生成随机字母数字字节 | - | generate_alphanumeric_bytes | 🟢 |
- 🟣 表示需要登录才可以下载仅自己可见的作品、收藏作品、收藏夹作品或点赞作品等。(登录后无视自己的私密设置、可获取个性化内容)
- ⚫ 表示不需要登录下载公开的作品、收藏夹作品、点赞作品等。(仅下载他人公开可见作品与页面)
| 功能 | 账号状态 | 接口 | 功能状态 |
|---|---|---|---|
| 用户信息 | 🟣⚫ | fetch_user_profile | 🟢 |
| 单个作品(视频、图集、日常) | 🟣⚫ | fetch_one_video | 🟢 |
| live图集 | 🟣⚫ | fetch_one_video | 🟢 |
| 主页作品 | 🟣⚫ | fetch_user_post_videos | 🟢 |
| 点赞作品 | 🟣⚫ | fetch_user_like_videos | 🟢 |
| 收藏夹作品 | 🟣⚫ | fetch_user_collects_videos | 🟢 |
| 收藏作品 | 🟣 | fetch_user_collection_videos | 🟢 |
| 收藏原声 | 🟣 | fetch_user_music_collection | 🟢 |
| 收藏合集 | 🟣 | fetch_user_mix_collection | 🔵 |
| 收藏短剧 | 🟣 | fetch_user_series_collection | 🟤 |
| 合集作品 | ⚫ | fetch_user_mix_videos | 🟢 |
| 首页推荐作品 | 🟣⚫ | fetch_user_feed_videos | 🟢 |
| 相似推荐作品 | ⚫ | fetch_related_videos | 🟢 |
| 直播间信息(流下载) | ⚫ | fetch_user_live_videos、fetch_user_live_videos_by_room_id | 🟢 |
| 直播间弹幕负载 | ⚫ | fetch_live_im | 🟢 |
| 直播间弹幕 | ⚫ | fetch_live_danmaku | 🟢 |
| 查询用户基本信息 | 🟣⚫ | fetch_query_user | 🟢 |
| 关注用户开播 | 🟣⚫ | fetch_user_following_lives | 🟢 |
| 关注用户信息 | 🟣⚫ | fetch_user_following | 🟢 |
| 粉丝用户信息 | 🟣⚫ | fetch_user_follower | 🟢 |
| 关注用户作品 | 🟣⚫ | fetch_user_following_videos | 🟤 |
| 粉丝用户作品 | 🟣⚫ | fetch_user_follower_videos | 🟤 |
| 朋友作品 | 🟣 | fetch_friend_feed_videos | 🟢 |
| 增加播放量 | 🟣⚫ | fetch_post_stats | 🟢 |
| 搜索视频 | ⚫ | fetch_search_videos | 🔵 |
| 搜索用户 | ⚫ | fetch_search_users | 🔵 |
| 搜索直播 | ⚫ | fetch_search_lives | 🔵 |
| 猜你想搜(相关搜索) | ⚫ | fetch_search_suggest | 🟤 |
| 抖音热点 | ⚫ | fetch_hot_search | 🟤 |
| 作品评论 | 🟣⚫ | fetch_video_comments | 🔵 |
| 观看历史 | 🟣 | fetch_user_history_read | 🟤 |
| 稍后再看 | 🟣 | fetch_user_watch_later | 🟤 |
| ... | ... | ... | ... |
| 工具类 | 类名 | 接口 | 功能状态 |
|---|---|---|---|
| 管理客户端配置 | ClientConfManager | 🟢 | |
| 生成真实msToken | TokenManager | gen_real_msToken | 🟢 |
| 生成虚假msToken | TokenManager | gen_false_msToken | 🟢 |
| 生成ttwid | TokenManager | gen_ttwid | 🟢 |
| 生成webid | TokenManager | gen_webid | 🟢 |
| 生成verify_fp | VerifyFpManager | gen_verify_fp | 🟢 |
| 生成s_v_web_id | VerifyFpManager | gen_s_v_web_id | 🟢 |
| 生成直播signature | DouyinWebcastSignature | get_signature | 🟢 |
| 使用接口地址生成Xb参数 | XBogusManager | str_2_endpoint | 🟢 |
| 使用接口模型生成Xb参数 | XBogusManager | model_2_endpoint | 🟢 |
| 使用接口地址生成Ab参数 | ABogusManager | str_2_endpoint | 🟢 |
| 使用接口模型生成Ab参数 | ABogusManager | model_2_endpoint | 🟢 |
| 提取单个用户id | SecUserIdFetcher | get_sec_user_id | 🟢 |
| 提取列表用户id | SecUserIdFetcher | get_all_sec_user_id | 🟢 |
| 提取单个作品id | AwemeIdFetcher | get_aweme_id | 🟢 |
| 提取列表作品id | AwemeIdFetcher | get_all_aweme_id | 🟢 |
| 提取单个合集id | MixIdFetcher | get_mix_id | 🟢 |
| 提取列表合集id | MixIdFetcher | get_all_mix_id | 🟢 |
| 提取单个直播间号 | WebCastIdFetcher | get_webcast_id | 🟢 |
| 提取列表直播间号 | WebCastIdFetcher | get_all_webcast_id | 🟢 |
| 全局格式化文件名 | - | format_file_name | 🟢 |
| 创建用户目录 | - | create_user_folder | 🟢 |
| 重命名用户目录 | - | rename_user_folder | 🟢 |
| 创建或重命名用户目录 | - | create_or_rename_user_folder | 🟢 |
| json歌词转lrc歌词 | - | json_2_lrc | 🟢 |
- 🟣 表示需要登录才可以下载仅自己可见的作品、收藏作品、收藏夹作品或点赞作品等。(登录后无视自己的私密设置、可获取个性化内容)
- ⚫ 表示不需要登录下载公开的作品、收藏夹作品、点赞作品等。(仅下载他人公开可见作品与页面)
| 功能 | 账号状态 | 接口 | 功能状态 |
|---|---|---|---|
| 用户信息 | 🟣⚫ | fetch_user_profile | 🟢 |
| 单个作品 | 🟣⚫ | fetch_one_video | 🟢 |
| 主页作品 | 🟣⚫ | fetch_user_post_videos | 🟢 |
| 点赞作品 | 🟣⚫ | fetch_user_like_videos | 🟢 |
| 收藏作品 | 🟣⚫ | fetch_user_collect_videos | 🟢 |
| 播放列表 | 🟣⚫ | fetch_play_list | 🟢 |
| 播放列表作品 | 🟣⚫ | fetch_user_mix_videos | 🟢 |
| 作品搜索 | 🟣⚫ | fetch_search_videos | 🟢 |
| 直播间信息(流下载) | ⚫ | fetch_user_live_videos | 🟢 |
| 直播间弹幕负载 | ⚫ | fetch_live_im | 🟢 |
| 直播间弹幕 | ⚫ | fetch_live_danmaku | 🟢 |
| 检查开播 | 🟣⚫ | fetch_check_live_alive | 🟢 |
| ... | ... | ... | ... |
| 工具类 | 类名 | 接口 | 功能状态 |
|---|---|---|---|
| 管理客户端配置 | ClientConfManager | 🟢 | |
| 生成真实msToken | TokenManager | gen_real_msToken | 🟢 |
| 生成虚假msToken | TokenManager | gen_false_msToken | 🟢 |
| 生成ttwid | TokenManager | gen_ttwid | 🟢 |
| 生成odin_tt | TokenManager | gen_odin_tt | 🟢 |
| 使用接口地址生成Xb参数 | XBogusManager | str_2_endpoint | 🟢 |
| 使用接口模型生成Xb参数 | XBogusManager | model_2_endpoint | 🟢 |
| 提取单个用户id | SecUserIdFetcher | get_secuid | 🟢 |
| 提取列表用户id | SecUserIdFetcher | get_all_secuid | 🟢 |
| 提取单个用户唯一id | SecUserIdFetcher | get_uniqueid | 🟢 |
| 提取列表用户唯一id | SecUserIdFetcher | get_all_uniqueid | 🟢 |
| 提取列表用户id | SecUserIdFetcher | get_all_secUid | 🟢 |
| 提取单个作品id | AwemeIdFetcher | get_aweme_id | 🟢 |
| 提取列表作品id | AwemeIdFetcher | get_all_aweme_id | 🟢 |
| 生成deviceId | DeviceIdManager | gen_device_id | 🟢 |
| 生成devideId列表 | DeviceIdManager | gen_device_ids | 🟢 |
| 全局格式化文件名 | - | format_file_name | 🟢 |
| 创建用户目录 | - | create_user_folder | 🟢 |
| 重命名用户目录 | - | rename_user_folder | 🟢 |
| 创建或重命名用户目录 | - | create_or_rename_user_folder | 🟢 |
| 功能 | 账号状态 | 接口 | 功能状态 |
|---|---|---|---|
| 推文详情 | 🟣⚫ | fetch_tweet_detail | 🟢 |
| 用户信息 | 🟣⚫ | fetch_user_profile | 🟢 |
| 主页推文 | 🟣⚫ | fetch_post_tweet | 🟢 |
| 喜欢推文 | 🟣 | fetch_like_tweet | 🟢 |
| 收藏推文 | 🟣 | fetch_bookmark_tweet | 🟢 |
| 工具类 | 类名 | 接口 | 功能状态 |
|---|---|---|---|
| 管理客户端配置 | ClientConfManager | 🟢 | |
| 提取用户唯一ID | UniqueIdFetcher | get_unique_id | 🟢 |
| 提取列表用户唯一ID | UniqueIdFetcher | get_all_unique_ids | 🟢 |
| 提取推文ID | TweetIdFetcher | get_tweet_id | 🟢 |
| 提取列表推文ID | TweetIdFetcher | get_all_tweet_ids | 🟢 |
| 全局格式化文件名 | - | format_file_name | 🟢 |
| 创建用户目录 | - | create_user_folder | 🟢 |
| 重命名用户目录 | - | rename_user_folder | 🟢 |
| 创建或重命名用户目录 | - | create_or_rename_user_folder | 🟢 |
| 提取推文文案 | - | extract_desc | 🟢 |
| 功能 | 账号状态 | 接口 | 功能状态 |
|---|---|---|---|
| 用户信息 | 🟣⚫ | fetch_user_info | 🟢 |
| 用户详情 | 🟣⚫ | fetch_user_detail | 🟢 |
| 主页微博 | 🟣⚫ | fetch_user_weibo | 🟢 |
| 微博详情 | 🟣⚫ | fetch_weibo_detail | 🟢 |
| 工具类 | 类名 | 接口 | 功能状态 |
|---|---|---|---|
| 管理客户端配置 | ClientConfManager | 🟢 | |
| 生成访客 Cookie | VisitorManager | gen_visitor | 🟢 |
| 提取微博 ID | WeiboIdFetcher | get_weibo_id | 🟢 |
| 提取列表微博 ID | WeiboIdFetcher | get_all_weibo_id | 🟢 |
| 提取微博用户 ID | WeiboUidFetcher | get_weibo_uid | 🟢 |
| 提取列表微博用户 ID | WeiboUidFetcher | get_all_weibo_uid | 🟢 |
| 提取微博用户昵称 | WeiboScreenNameFetcher | get_weibo_screen_name | 🟢 |
| 提取列表微博用户昵称 | WeiboScreenNameFetcher | get_all_weibo_screen_name | 🟢 |
| 全局格式化文件名 | - | format_file_name | 🟢 |
| 创建用户目录 | - | create_user_folder | 🟢 |
| 重命名用户目录 | - | rename_user_folder | 🟢 |
| 创建或重命名用户目录 | - | create_or_rename_user_folder | 🟢 |
| 提取微博文案 | - | extract_desc | 🟢 |
📸 截图
发送通知(GET)
发送通知(POST)
发送加密通知
抖音单个作品
抖音主页作品
抖音点赞作品
抖音收藏作品
抖音收藏夹作品
抖音收藏原声
抖音合集作品
支持合集里任意作品链接解析
合集链接解析
抖音直播录制
单个直播录制
批量直播录制
抖音相关推荐
抖音好友作品
抖音直播弹幕
TikTok单个作品
TikTok主页作品
TikTok点赞作品
TikTok收藏作品
TikTok播放列表作品
TikTok作品搜索
TikTok直播弹幕
ps. 懒得录了,放的douyin的弹幕,效果一样的。
x单个推文
x主页推文
x喜欢推文
x收藏推文
WeiBo单个微博
WeiBo主页微博
📦 结构
.
|___.coverage
|___.github
| |___dependabot.yml
| |___ISSUE_TEMPLATE
| | |___ask-question.md
| | |___bug-report.md
| | |___feature_request.md
| |___workflows
| | |___Codecov.yml
| | |___deploy.yml
| | |___issue_similarity.yml
|___.gitignore
|___.vscode
| |___launch.json
| |___settings.json
|___babel.cfg
|___CHANGELOG.md
|___CNAME
|___CODE_OF_CONDUCT.md
|___CONTRIBUTING.en.md
|___CONTRIBUTING.md
|___CONTRIBUTORS.en.md
|___CONTRIBUTORS.md
|___coverage.xml
|___docs
| |___.vitepress
| | |___config.mts
| | |___theme
| | | |___index.ts
| | | |___Layout.vue
| | | |___styles
| | | | |___vars.css
| |___advance-guide.md
| |___cli.md
| |___en
| | |___advance-guide.md
| | |___api-examples.md
| | |___cli.md
| | |___guide
| | | |___api-examples.md
| | | |___apps
| | | | |___bark
| | | | | |___cli.md
| | | | | |___index.md
| | | | |___douyin
| | | | | |___cli.md
| | | | | |___index.md
| | | | |___f2
| | | | | |___cli.md
| | | | | |___index.md
| | | | |___tiktok
| | | | | |___cli.md
| | | | | |___index.md
| | | | |___twitter
| | | | | |___cli.md
| | | | | |___index.md
| | | | |___weibo
| | | | | |___cli.md
| | | | | |___index.md
| | | |___what-is-f2.md
| | |___index.md
| | |___install.md
| | |___markdown-examples.md
| | |___question-answer
| | | |___qa.md
| | |___quick-start.md
| | |___site-config.md
| | |___snippets
| | | |___bark
| | | | |___ciphertext.sh
| | | | |___client-config.py
| | | | |___generate-bytes.py
| | | | |___notification.py
| | | |___douyin
| | | | |___abogus.py
| | | | |___aweme-id.py
| | | | |___aweme-related.py
| | | | |___client-config.py
| | | | |___format-file-name.py
| | | | |___json-2-lrc.py
| | | | |___mix-id.py
| | | | |___one-video.py
| | | | |___post-stats.py
| | | | |___query-user.py
| | | | |___sec-user-id.py
| | | | |___support-link.md
| | | | |___token-manager.py
| | | | |___user-collection.py
| | | | |___user-collects.py
| | | | |___user-feed.py
| | | | |___user-folder.py
| | | | |___user-follow-live.py
| | | | |___user-follower.py
| | | | |___user-following.py
| | | | |___user-friend.py
| | | | |___user-get-add.py
| | | | |___user-like.py
| | | | |___user-live-im-fetch.py
| | | | |___user-live-room-id.py
| | | | |___user-live.py
| | | | |___user-mix.py
| | | | |___user-post.py
| | | | |___user-profile.py
| | | | |___video-get-add.py
| | | | |___webcast-id.py
| | | | |___webcast-signature.py
| | | | |___xbogus.py
| | | |___QA.md
| | | |___set-debug.py
| | | |___tiktok
| | | | |___aweme-id.py
| | | | |___check-live-alive.py
| | | | |___client-config.py
| | | | |___device-id.py
| | | | |___format-file-name.py
| | | | |___one-video.py
| | | | |___sec-uid.py
| | | | |___token-manager.py
| | | | |___unique-id.py
| | | | |___user-collect.py
| | | | |___user-folder.py
| | | | |___user-get-add.py
| | | | |___user-like.py
| | | | |___user-live-im-fetch.py
| | | | |___user-mix.py
| | | | |___user-playlist.py
| | | | |___user-post.py
| | | | |___user-profile.py
| | | | |___video-get-add.py
| | | | |___xbogus.py
| | | |___twitter
| | | | |___client-config.py
| | | | |___extract-desc.py
| | | | |___format-file-name.py
| | | | |___one-tweet.py
| | | | |___tweet-ids.py
| | | | |___user-bookmark.py
| | | | |___user-folder.py
| | | | |___user-get-add.py
| | | | |___user-like.py
| | | | |___user-profile.py
| | | | |___user-tweet.py
| | | | |___user-unique-ids.py
| | | |___weibo
| | | | |___client-config.py
| | | | |___extract-desc.py
| | | | |___extract-uid.py
| | | | |___format-file-name.py
| | | | |___one-weibo.py
| | | | |___user-detail.py
| | | | |___user-folder.py
| | | | |___user-get-add.py
| | | | |___user-profile-by-name.py
| | | | |___user-profile.py
| | | | |___user-weibo.py
| | | | |___visitor-cookie.py
| | | | |___weibo-id.py
| | | | |___weibo-screen-name.py
| | | | |___weibo-uid.py
| | |___team.md
| |___faq.md
| |___guide
| | |___api-examples.md
| | |___apps
| | | |___bark
| | | | |___cli.md
| | | | |___index.md
| | | |___douyin
| | | | |___cli.md
| | | | |___index.md
| | | |___f2
| | | | |___cli.md
| | | | |___index.md
| | | |___tiktok
| | | | |___cli.md
| | | | |___index.md
| | | |___twitter
| | | | |___cli.md
| | | | |___index.md
| | | |___weibo
| | | | |___cli.md
| | | | |___index.md
| | |___what-is-f2.md
| |___index.md
| |___install.md
| |___package.json
| |___public
| | |___bark
| | | |___bark-ciphertext-setting.jpg
| | | |___bark-ciphertext.jpg
| | | |___bark-key.jpg
| | | |___bark-token.jpg
| | |___douyin
| | | |___batch-lives.png
| | | |___cli-start-2.png
| | | |___cli-start.png
| | | |___code-start-2.png
| | | |___code-start.png
| | | |___log-2-console.png
| | | |___pytest-ok.png
| | | |___set-debug.png
| | | |___wss-connect.png
| | |___f2-help.png
| | |___f2-logo-with-no-shadow.png
| | |___f2-logo-with-shadow-mini.png
| | |[email protected]
| | |[email protected]
| | |[email protected]
| | |[email protected]
| | |[email protected]
| | |[email protected]
| | |___f2-logo-with-shadow.png
| | |___f2-logo.ico
| |___quick-start.md
| |___site-config.md
| |___snippets
| | |___bark
| | | |___ciphertext.sh
| | | |___client-config.py
| | | |___generate-bytes.py
| | | |___notification.py
| | |___douyin
| | | |___abogus.py
| | | |___aweme-id.py
| | | |___aweme-related.py
| | | |___batch-lives.py
| | | |___client-config.py
| | | |___format-file-name.py
| | | |___json-2-lrc.py
| | | |___mix-id.py
| | | |___one-video.py
| | | |___post-stats.py
| | | |___query-user.py
| | | |___sec-user-id.py
| | | |___support-link.md
| | | |___token-manager.py
| | | |___user-collection.py
| | | |___user-collects.py
| | | |___user-feed.py
| | | |___user-folder.py
| | | |___user-follow-live.py
| | | |___user-follower.py
| | | |___user-following.py
| | | |___user-friend.py
| | | |___user-get-add.py
| | | |___user-like.py
| | | |___user-live-im-fetch.py
| | | |___user-live-room-id.py
| | | |___user-live.py
| | | |___user-mix.py
| | | |___user-post.py
| | | |___user-profile.py
| | | |___video-get-add.py
| | | |___webcast-id.py
| | | |___webcast-signature.py
| | | |___xbogus.py
| | |___set-debug.py
| | |___tiktok
| | | |___aweme-id.py
| | | |___check-live-alive.py
| | | |___client-config.py
| | | |___device-id.py
| | | |___format-file-name.py
| | | |___one-video.py
| | | |___sec-uid.py
| | | |___token-manager.py
| | | |___unique-id.py
| | | |___user-collect.py
| | | |___user-folder.py
| | | |___user-get-add.py
| | | |___user-like.py
| | | |___user-live-im-fetch.py
| | | |___user-mix.py
| | | |___user-playlist.py
| | | |___user-post.py
| | | |___user-profile.py
| | | |___video-get-add.py
| | | |___xbogus.py
| | |___twitter
| | | |___client-config.py
| | | |___extract-desc.py
| | | |___format-file-name.py
| | | |___one-tweet.py
| | | |___tweet-ids.py
| | | |___user-bookmark.py
| | | |___user-folder.py
| | | |___user-get-add.py
| | | |___user-like.py
| | | |___user-profile.py
| | | |___user-tweet.py
| | | |___user-unique-ids.py
| | |___weibo
| | | |___client-config.py
| | | |___extract-desc.py
| | | |___extract-uid.py
| | | |___format-file-name.py
| | | |___one-weibo.py
| | | |___user-detail.py
| | | |___user-folder.py
| | | |___user-get-add.py
| | | |___user-profile-by-name.py
| | | |___user-profile.py
| | | |___user-weibo.py
| | | |___visitor-cookie.py
| | | |___weibo-id.py
| | | |___weibo-screen-name.py
| | | |___weibo-uid.py
| |___team.md
|___f2
| |___apps
| | |___bark
| | | |___api.py
| | | |___cli.py
| | | |___crawler.py
| | | |___filter.py
| | | |___handler.py
| | | |___help.py
| | | |___model.py
| | | |___test
| | | | |___test_bark_crawler.py
| | | |___utils.py
| | |___douyin
| | | |___algorithm
| | | | |___webcast_signature.py
| | | |___api.py
| | | |___cli.py
| | | |___crawler.py
| | | |___db.py
| | | |___dl.py
| | | |___filter.py
| | | |___handler.py
| | | |___help.py
| | | |___model.py
| | | |___proto
| | | | |___douyin_webcast.proto
| | | | |___douyin_webcast_pb2.py
| | | |___test
| | | | |___test_douyin_apps_model.py
| | | | |___test_douyin_aweme_id.py
| | | | |___test_douyin_crawler.py
| | | | |___test_douyin_handler.py
| | | | |___test_douyin_lrc.py
| | | | |___test_douyin_room_id.py
| | | | |___test_douyin_sec_user_id.py
| | | | |___test_douyin_token.py
| | | | |___test_douyin_webcast_id.py
| | | | |___test_douyin_webcast_signature.py
| | | |___utils.py
| | |___tiktok
| | | |___api.py
| | | |___cli.py
| | | |___crawler.py
| | | |___db.py
| | | |___dl.py
| | | |___filter.py
| | | |___handler.py
| | | |___help.py
| | | |___model.py
| | | |___proto
| | | | |___tiktok_webcast.proto
| | | | |___tiktok_webcast_pb2.py
| | | |___test
| | | | |___test_tiktok_aweme_id.py
| | | | |___test_tiktok_crawler.py
| | | | |___test_tiktok_device_id.py
| | | | |___test_tiktok_sec_user_id_fetcher.py
| | | | |___test_tiktok_token.py
| | | |___utils.py
| | |___twitter
| | | |___api.py
| | | |___cli.py
| | | |___crawler.py
| | | |___db.py
| | | |___dl.py
| | | |___filter.py
| | | |___handler.py
| | | |___help.py
| | | |___model.py
| | | |___test
| | | | |___test_model.py
| | | | |___test_tweet_desc.py
| | | | |___test_tweet_id.py
| | | | |___test_unique_id.py
| | | |___utils.py
| | |___weibo
| | | |___api.py
| | | |___cli.py
| | | |___crawler.py
| | | |___db.py
| | | |___dl.py
| | | |___filter.py
| | | |___handler.py
| | | |___help.py
| | | |___model.py
| | | |___test
| | | | |___test_gen_visitor.py
| | | | |___test_handler.py
| | | | |___test_weibo_desc.py
| | | | |___test_weibo_id.py
| | | | |___test_weibo_screen_name.py
| | | | |___test_weibo_uid.py
| | | |___utils.py
| | |_____apps__.py
| | |_____init__.py
| |___cli
| | |___cli_commands.py
| | |___cli_console.py
| | |_____init__.py
| |___conf
| | |___app.yaml
| | |___conf.yaml
| | |___defaults.yaml
| | |___test.yaml
| |___crawlers
| | |___base_crawler.py
| |___db
| | |___base_db.py
| |___dl
| | |___base_downloader.py
| |___exceptions
| | |___api_exceptions.py
| | |___conf_exceptions.py
| | |___db_exceptions.py
| | |___file_exceptions.py
| | |_____init__.py
| |___helps.py
| |___i18n
| | |___translator.py
| |___languages
| | |___en_US
| | | |___LC_MESSAGES
| | | | |___en_US.mo
| | |___zh_CN
| | | |___LC_MESSAGES
| | | | |___zh_CN.mo
| |___log
| | |___logger.py
| |___utils
| | |___abogus.py
| | |___conf_manager.py
| | |___decorators.py
| | |___json_filter.py
| | |___utils.py
| | |___xbogus.py
| | |____dl.py
| | |____signal.py
| | |____singleton.py
| | |_____init__.py
| |_____init__.py
| |_____main__.py
|___LICENSE
|___make_pot.bat
|___make_pot.sh
|___pnpm-lock.yaml
|___pyproject.toml
|___pytest.ini
|___README.en.md
|___README.md
|___SECURITY.md
|___tests
| |___data
| | |___douyin
| | | |___webcast
| | | | |___dict
| | | | | |___WebcastGiftMessage.json
| | | | | |___WebcastLiveShoppingMessage.json
| | | | | |___WebcastProductChangeMessage.json
| | | | | |___WebcastRoomUserSeqMessage.json
| | | | | |___WebcastSocialMessage.json
| | | | | |___WebcastStatsMessage.json
| | | | | |___WebcastUpdateFanTicketMessage.json
| | |___tiktok
| | | |___webcast
| | | | |___dict
| | | | | |___WebcastChatMessage.json
| | | | | |___WebcastGiftMessage.json
| | | | | |___WebcastLikeMessage.json
| | | | | |___WebcastLinkMicFanTicketMethod.json
| | | | | |___WebcastMemberMessage.json
| | | | | |___WebcastRoomStreamAdaptationMessage.json
| | | | | |___WebcastRoomUserSeqMessage.json
| | | | | |___WebcastSocialMessage.json
| | | | | |___WebcastStatsMessage.json
| | | | |___protobuf
| | | | | |___WebcastOecLiveShoppingMessage_0.bin
| | | | | |___WebcastOecLiveShoppingMessage_1.bin
| | | | | |___WebcastOecLiveShoppingMessage_2.bin
| |___package-lock.json
| |___test_abogus.py
| |___test_aes.py
| |___test_cli_commands.py
| |___test_cli_console.py
| |___test_desc_limit.py
| |___test_dl.py
| |___test_exceptions.py
| |___test_gzip.py
| |___test_i18n.py
| |___test_json_filter.py
| |___test_logger.py
| |___test_py_version.py
| |___test_rsa.py
| |___test_signal.py
| |___test_singleton.py
| |___test_timestamp.py
| |___test_utils.py
| |___test_xbogus.py
💰 赞助商
TikHub 是一家提供优质数据接口服务的供应商。通过每日签到,可以获取免费额度。可以使用我的注册邀请链接:https://beta-web.tikhub.io/users/signup?referral_code=6hLcGD94 或 邀请码:6hLcGD94,注册并充值即可获得$2额度。
TikHub 提供以下服务:
- 丰富的数据接口
- 每日签到免费获取额度
- 高质量的API服务
- 官网:https://tikhub.io/
- 项目地址:https://github.com/TikHubIO/
👨💻 贡献
如果你有兴趣为 F2 贡献代码,请查看贡献指南。PR 请提交到当前开发分支 v0.0.1.8-pw3(见顶部 Dev Branch 徽章),不要提交到 main。
🙏 鸣谢
- Windows Terminal
- Python
- Nvm
- Node.js
- Babel
- click
- rich
- httpx
- curl_cffi
- aiofiles
- aiosqlite
- jsonpath-ng
- importlib_resources
- m3u8
- pyyaml
- pytest
- pytest-asyncio
- browser_cookie3
- pydantic
- vitepress
- websockets
- protobuf
- gmssl
- cryptography
没有这些库和程序,F2将无法实现这些功能,对于他们的贡献和努力,表示由衷的感谢。
⚖️ 协议&声明
- 请严格遵守爬虫规范,不要使用此项目进行任何违法行为。
- 不出售、共享、加密、上传、研究和传播任何个人信息。
- 项目及其相关代码仅供学习与研究使用,不构成任何明示或暗示的保证。
- 使用者因使用此项目及其代码可能造成的任何形式的损失,使用者应当自行承担一切风险。
- 请遵守Apache-2.0开源协议,不要删除或修改代码中的任何版权信息。
- 如果使用者需要商业化使用此项目,必须指定项目仓库地址,不得删除或修改项目中的任何版权信息。
- 如果使用者使用此项目及其代码,即代表使用者同意遵守上述规定。
📜 许可
Copyright (c) 2023 JohnserfSeed
📧 联系
只回答关于F2的问题,可以通过以下方式联系我,请耐心等待,会尽快回复你。
- Mail:[email protected] (优先)
- Discord:F2