Skip to content

Commit

Permalink
docs: 更新文档所有代码片段的region方法
Browse files Browse the repository at this point in the history
  • Loading branch information
Johnserf-Seed committed Jul 8, 2024
1 parent b425eab commit 53964d0
Show file tree
Hide file tree
Showing 21 changed files with 158 additions and 136 deletions.
32 changes: 16 additions & 16 deletions docs/snippets/QA.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// #region response-is-null-snippet
# region response-is-null-snippet
只要是出现第 n 次响应内容为空均是`cookie`设置的问题。

你需要排查的是:
Expand All @@ -7,36 +7,36 @@
3. 使用`--auto-cookie`命令时,确保选择的浏览器中已登录正常账号,游客账号的`cookie`非常不稳定。
4. 如果你使用的是该app扫码登录的功能,可能会因为未知的设备环境风控造成网页端与app端账号下线。如果出现扫码登录的`cookie`失效,请使用`--auto-cookie`命令。
5. `0.0.1.2`之前的版本如果将`cookie`保存在自定义配置文件中,会有无法被正确识别的情况。
// #endregion response-is-null-snippet
# endregion response-is-null-snippet


// #region api-rate-limit-snippet
# region api-rate-limit-snippet
如果出现`API Rate Limit Error`时只需等待一会后重试即可。
继续频繁出现该错误需在网页端中重新登录并获取`cookie`
仍无效后请切换网络环境和账号。

https://zh.wikipedia.org/wiki/HTTP%E7%8A%B6%E6%80%81%E7%A0%81
https://datatracker.ietf.org/doc/html/rfc6585#section-7.2
// #endregion api-rate-limit-snippet
# endregion api-rate-limit-snippet


// #region urlopen-errno-11001
# region urlopen-errno-11001
该问题为本地网络连接问题,请检查你的网络连接是否正常。需要排查代理是否可以正常访问。
// #endregion urlopen-errno-11001
# endregion urlopen-errno-11001


// #region f2-command-not-found
# region f2-command-not-found
在非Windows系统中,如果出现`f2: command not found`错误,说明你的系统环境变量中没有添加`f2`命令的路径。

运行`which f2`命令查看`f2`命令的路径,然后将该路径添加到环境变量中。

添加环境变量的方法:
1. 编辑`~/.bashrc`文件,添加`export PATH="$PATH:/home/YOUR_NAME/.local/bin"`
2. 运行`source ~/.bashrc`命令使环境变量生效。
// #endregion f2-command-not-found
# endregion f2-command-not-found


// #region no-matching-videos-found
# region no-matching-videos-found
如果出现`WARNING 没有找到符合条件的作品`,请检查你是否配置了`interval`参数,该参数是用来设置作品发布时间的筛选条件。

解决办法:
Expand All @@ -48,21 +48,21 @@ https://datatracker.ietf.org/doc/html/rfc6585#section-7.2
可参考的issue:
https://github.com/Johnserf-Seed/f2/issues/42
https://github.com/Johnserf-Seed/TikTokDownload/issues/660
// #endregion no-matching-videos-found
# endregion no-matching-videos-found


// #region ssl-faild-01
# region ssl-faild-01
出现`EOF occurred in violation of protocol (_ssl.c:992)`说明SSL握手失败。

解决办法:
1. 请检查你的网络环境是否支持SSL协议。
2. 确保代理网络连接稳定。

这个问题可能涉及到多个方面,需要自己逐步排查和解决。
// #endregion ssl-faild-01
# endregion ssl-faild-01


// #region ssl-faild-02
# region ssl-faild-02
出现`_ssl.c:975: The handshake operation timed out`说明SSL握手超时。可能是网络连接不稳定或延迟过高导致。

解决办法:
Expand All @@ -72,10 +72,10 @@ https://github.com/Johnserf-Seed/TikTokDownload/issues/660
4. 调整超时设置

这个问题可能涉及到多个方面,需要自己逐步排查和解决。
// #endregion ssl-faild-02
# endregion ssl-faild-02


// #region tiktok-403-forbidden
# region tiktok-403-forbidden
当下载`tiktok`视频时出现`403 Forbidden`错误时,是由于`设备id`被封禁导致的。

`设备id`与生成的`cookie`是一一对应的,如果`设备id`被封禁,那么生成的`cookie`也会被封禁。
Expand All @@ -89,4 +89,4 @@ https://github.com/Johnserf-Seed/TikTokDownload/issues/660
代码片段:
https://johnserf-seed.github.io/f2/guide/apps/tiktok/#%E7%94%9F%E6%88%90deviceid-%F0%9F%9F%A2

// #endregion tiktok-403-forbidden
# endregion tiktok-403-forbidden
19 changes: 10 additions & 9 deletions docs/snippets/douyin/abogus.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// #region str-2-endpoint-snippet
# region str-2-endpoint-snippet
# 使用接口地址直接生成请求链接
import asyncio
from f2.apps.douyin.utils import ABogusManager, ClientConfManager
Expand All @@ -17,10 +17,10 @@ async def main():
if __name__ == "__main__":
print(asyncio.run(main()))

// #endregion str-2-endpoint-snippet
# endregion str-2-endpoint-snippet


// #region model-2-endpoint-snippet
# region model-2-endpoint-snippet
# 使用用户信息模型生成请求链接
import asyncio
from f2.apps.douyin.api import DouyinAPIEndpoints as dyendpoint
Expand All @@ -33,23 +33,23 @@ async def gen_user_profile(params: UserProfile):
ClientConfManager.user_agent(),
base_endpoint=dyendpoint.USER_DETAIL,
params=params.model_dump(),
request_type = "GET",
request_type="GET",
)


async def main():
sec_user_id="MS4wLjABAAAANXSltcLCzDGmdNFI2Q_QixVTr67NiYzjKOIP5s03CAE"
sec_user_id = "MS4wLjABAAAANXSltcLCzDGmdNFI2Q_QixVTr67NiYzjKOIP5s03CAE"
params = UserProfile(sec_user_id=sec_user_id)
return await gen_user_profile(params)


if __name__ == "__main__":
print(asyncio.run(main()))

// #endregion model-2-endpoint-snippet
# endregion model-2-endpoint-snippet


// #region model-2-endpoint-2-filter-snippet
# region model-2-endpoint-2-filter-snippet
# 使用用户信息模型生成请求链接,请求接口并使用自定义过滤器输出所需接口数据
import asyncio
from f2.apps.douyin.api import DouyinAPIEndpoints as dyendpoint
Expand All @@ -70,14 +70,15 @@ async def main():

async def main():
async with DouyinCrawler(kwargs) as crawler:
sec_user_id="MS4wLjABAAAANXSltcLCzDGmdNFI2Q_QixVTr67NiYzjKOIP5s03CAE"
sec_user_id = "MS4wLjABAAAANXSltcLCzDGmdNFI2Q_QixVTr67NiYzjKOIP5s03CAE"
params = UserProfile(sec_user_id=sec_user_id)
response = await crawler.fetch_user_profile(params)
user = UserProfileFilter(response)
# return user # user为UserProfileFilter对象,需要调用_to_dict()方法转为字典格式
return user._to_dict()


if __name__ == "__main__":
print(asyncio.run(main()))

// #endregion model-2-endpoint-2-filter-snippet
# endregion model-2-endpoint-2-filter-snippet
8 changes: 4 additions & 4 deletions docs/snippets/douyin/aweme-id.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// #region single-aweme-id-snippet
# region single-aweme-id-snippet
import asyncio
from f2.apps.douyin.utils import AwemeIdFetcher

Expand All @@ -13,10 +13,10 @@ async def main():
if __name__ == "__main__":
print(asyncio.run(main()))

// #endregion single-aweme-id-snippet
# endregion single-aweme-id-snippet


// #region multi-aweme-id-snippet
# region multi-aweme-id-snippet
import asyncio
from f2.apps.douyin.utils import AwemeIdFetcher
from f2.utils.utils import extract_valid_urls
Expand All @@ -41,4 +41,4 @@ async def main():
if __name__ == "__main__":
print(asyncio.run(main()))

// #endregion multi-aweme-id-snippet
# endregion multi-aweme-id-snippet
8 changes: 4 additions & 4 deletions docs/snippets/douyin/mix-id.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// #region single-mix-id-snippet
# region single-mix-id-snippet
import asyncio
from f2.apps.douyin.utils import MixIdFetcher

Expand All @@ -11,10 +11,10 @@ async def main():
if __name__ == "__main__":
print(asyncio.run(main()))

// #endregion single-mix-id-snippet
# endregion single-mix-id-snippet


// #region multi-mix-id-snippet
# region multi-mix-id-snippet
import asyncio
from f2.apps.douyin.utils import MixIdFetcher
from f2.utils.utils import extract_valid_urls
Expand All @@ -36,4 +36,4 @@ async def main():
if __name__ == "__main__":
print(asyncio.run(main()))

// #endregion multi-mix-id-snippet
# endregion multi-mix-id-snippet
12 changes: 8 additions & 4 deletions docs/snippets/douyin/sec-user-id.py
Original file line number Diff line number Diff line change
@@ -1,23 +1,26 @@
// #region single-user-id-snippet
# region single-user-id-snippet
import asyncio
from f2.apps.douyin.utils import SecUserIdFetcher


async def main():
raw_url = "https://www.douyin.com/user/MS4wLjABAAAANXSltcLCzDGmdNFI2Q_QixVTr67NiYzjKOIP5s03CAE?vid=7285950278132616463"
# 对于单个URL
return await SecUserIdFetcher.get_sec_user_id(raw_url)


if __name__ == "__main__":
print(asyncio.run(main()))

// #endregion single-user-id-snippet
# endregion single-user-id-snippet


// #region multi-user-id-snippet
# region multi-user-id-snippet
import asyncio
from f2.apps.douyin.utils import SecUserIdFetcher
from f2.utils.utils import extract_valid_urls


async def main():
raw_urls = [
"https://www.douyin.com/user/MS4wLjABAAAANXSltcLCzDGmdNFI2Q_QixVTr67NiYzjKOIP5s03CAE?vid=7285950278132616463",
Expand All @@ -32,7 +35,8 @@ async def main():
# 对于URL列表
return await SecUserIdFetcher.get_all_sec_user_id(urls)


if __name__ == "__main__":
print(asyncio.run(main()))

// #endregion multi-user-id-snippet
# endregion multi-user-id-snippet
8 changes: 4 additions & 4 deletions docs/snippets/douyin/user-collection.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// #region user-collection-music-snippet
# region user-collection-music-snippet
import asyncio
from f2.apps.douyin.handler import DouyinHandler

Expand Down Expand Up @@ -27,10 +27,10 @@ async def main():
if __name__ == "__main__":
asyncio.run(main())

// #endregion user-collection-music-snippet
# endregion user-collection-music-snippet


// #region user-collection-video-snippet
# region user-collection-video-snippet
import asyncio
from f2.apps.douyin.handler import DouyinHandler

Expand Down Expand Up @@ -58,4 +58,4 @@ async def main():
if __name__ == "__main__":
asyncio.run(main())

// #endregion user-collection-video-snippet
# endregion user-collection-video-snippet
8 changes: 4 additions & 4 deletions docs/snippets/douyin/user-collects.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// #region user-collects-snippet
# region user-collects-snippet
import asyncio
from f2.apps.douyin.handler import DouyinHandler

Expand All @@ -25,10 +25,10 @@ async def main():
if __name__ == "__main__":
asyncio.run(main())

// #endregion user-collects-snippet
# endregion user-collects-snippet


// #region user-collects-videos-snippet
# region user-collects-videos-snippet
import asyncio
from f2.apps.douyin.handler import DouyinHandler

Expand Down Expand Up @@ -60,4 +60,4 @@ async def main():
if __name__ == "__main__":
asyncio.run(main())

// #endregion user-collects-videos-snippet
# endregion user-collects-videos-snippet
9 changes: 5 additions & 4 deletions docs/snippets/douyin/user-folder.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// #region create-user-folder
# region create-user-folder
from f2.apps.douyin.utils import create_user_folder


Expand All @@ -19,10 +19,10 @@
print(create_user_folder(kwargs, current_nickname))
# X:\......\Download\douyin\post\New Nickname

// #endregion create-user-folder
# endregion create-user-folder


// #region rename-user-folder
# region rename-user-folder
import asyncio
from f2.apps.douyin.db import AsyncUserDB
from f2.apps.douyin.utils import rename_user_folder
Expand Down Expand Up @@ -56,7 +56,8 @@ async def main():
print(new_user_path)
# X:\......\Download\douyin\post\New Nickname


if __name__ == "__main__":
asyncio.run(main())

// #endregion rename-user-folder
# endregion rename-user-folder
8 changes: 4 additions & 4 deletions docs/snippets/douyin/webcast-id.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// #region single-webcast-id-snippet
# region single-webcast-id-snippet
import asyncio
from f2.apps.douyin.utils import WebCastIdFetcher

Expand All @@ -11,10 +11,10 @@ async def main():
if __name__ == "__main__":
print(asyncio.run(main()))

// #endregion single-webcast-id-snippet
# endregion single-webcast-id-snippet


// #region multi-webcast-id-snippet
# region multi-webcast-id-snippet
import asyncio
from f2.apps.douyin.utils import WebCastIdFetcher
from f2.utils.utils import extract_valid_urls
Expand All @@ -39,4 +39,4 @@ async def main():
if __name__ == "__main__":
print(asyncio.run(main()))

// #endregion multi-webcast-id-snippet
# endregion multi-webcast-id-snippet
8 changes: 4 additions & 4 deletions docs/snippets/douyin/webcast-signature.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// #region webcast-signature-snippet
# region webcast-signature-snippet
from f2.apps.douyin.algorithm.webcast_signature import DouyinWebcastSignature

if __name__ == "__main__":
Expand All @@ -9,10 +9,10 @@
).get_signature(room_id, user_unique_id)
print(signature)

// #endregion webcast-signature-snippet
# endregion webcast-signature-snippet


// #region webcast-signature-manager-snippet
# region webcast-signature-manager-snippet
# fetch_live_danmaku

import asyncio
Expand All @@ -33,4 +33,4 @@ async def main(params: LiveWebcast):
if __name__ == "__main__":
print(asyncio.run(main()))

// #endregion webcast-signature-manager-snippet
# endregion webcast-signature-manager-snippet
Loading

0 comments on commit 53964d0

Please sign in to comment.