大数跨境
0
0

能够轻松批量下载平台的视频或图片资源的python库

能够轻松批量下载平台的视频或图片资源的python库 GitHubStore
2025-08-31
4
导读:简介F2 是一个 Python 库,提供多平台的作品下载与接口数据处理。


简介

F2 是一个 Python 库,提供多平台的作品下载与接口数据处理。支持 DouYinTikTokTwitterWeiBo 等平台,且方便适配更多平台。



快速入门

安装

  • 必备条件
  • 包管理器安装
  • 编译安装

快速使用

  • 启动和运行
  • 下一步是什么?

配置文件

  • 主配置文件
  • 初始化配置文件
  • 自定义配置文件
  • 配置Cookie
  • 配置文件的位置
  • 下一步是什么?

命令行

  • CLI临时配置
  • 拓展
  • 应用命令行

进阶用法

  • DouYin 批量采集直播流
  • DouYin 直播弹幕转发
  • 文档还在进一步更新中...

开发指南

  • 开发者必看

API示例

  • 使用示例

开发者接口

  • Bark
  • DouYin
  • TikTok
  • Twitter
  • WeiBo

命令行指引

  • Bark
  • DouYin
  • TikTok
  • Twitter
  • WeiBo

应用&功能

功能状态:??代表已经实现,??代表正在实现,??代表暂时不实现,??代表未来实现,??代表将会弃用。 账号状态:?代表未知,??代表需要登录(无视自己账号隐私设置),?代表不需要登录(游客状态能看到的)。

完整的功能列表请查看 API文档。

?? Bark
功能
账号状态
接口
功能状态
发送通知(GET)
?
fetch_bark_notification
??
发送通知(POST)
?
post_bark_notification
??
发送加密通知
?
cipher_bark_notification
??
工具类
类名
接口
功能状态
管理客户端配置
ClientConfManager
-
??
生成随机数字字节
-
generate_numeric_bytes
??
?? DouYin
  • ?? 表示需要登录才可以下载仅自己可见的作品、收藏作品、收藏夹作品或点赞作品等。(登录后无视自己的私密设置、可获取个性化内容)
  • ? 表示不需要登录下载公开的作品、收藏夹作品、点赞作品等。(仅下载他人公开可见作品与页面)
功能
账号状态
接口
功能状态
用户信息
???
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
??
?? TikTok
  • ?? 表示需要登录才可以下载仅自己可见的作品、收藏作品、收藏夹作品或点赞作品等。(登录后无视自己的私密设置、可获取个性化内容)
  • ? 表示不需要登录下载公开的作品、收藏夹作品、点赞作品等。(仅下载他人公开可见作品与页面)
功能
账号状态
接口
功能状态
用户信息
???
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
??
?? Twitter
功能
账号状态
接口
功能状态
推文详情
???
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
??
?? WeiBo
功能
账号状态
接口
功能状态
用户信息
???
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
??

?? 结构

?? 项目目录
ounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(lineounter(line.|___.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| | |___f2-logo-with-shadow-svg@0.25x.svg| | |___f2-logo-with-shadow-svg@0.5x.svg| | |___f2-logo-with-shadow-svg@0.75x.svg| | |___f2-logo-with-shadow-svg@1.0x.svg| | |___f2-logo-with-shadow-svg@1.5x.svg| | |___f2-logo-with-shadow-svg@2.0x.svg| | |___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.js| | | | |___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_excetions.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

鸣谢

  • Windows Terminal
  • Python
  • Nvm
  • Node.js
  • Babel
  • click
  • rich
  • httpx
  • aiofiles
  • aiosqlite
  • jsonpath-ng
  • importlib_resources
  • m3u8
  • pyyaml
  • pytest
  • pytest-asyncio
  • browser_cookie3
  • pydantic
  • vitepress
  • websockets
  • websockets_proxy
  • protobuf
  • PyExecJS
  • gmssl
  • cryptography

没有这些库和程序,F2将无法实现这些功能,对于他们的贡献和努力,表示由衷的感谢。

项目地址

https://github.com/Johnserf-Seed/f2/blob/main/README.md




扫码加入技术交流群,备注「开发语言-城市-昵称

合作请注明


如果你觉得这篇文章不错,别忘了点赞、在看、转发给更多需要的小伙伴哦!我们下期再见!



【声明】内容源于网络
0
0
GitHubStore
分享有意思的开源项目
内容 1303
粉丝 0
GitHubStore 分享有意思的开源项目
总阅读1.7k
粉丝0
内容1.3k