python에서 TikTokLive.types.errors.LiveNotFound 에러 해결방법

3주 전 질문 3주 전 토론 12 views

틱톡 라이브 비디오가 지금 라이브인지 종료인지 확인하는 코드가 있는데요.

TikTokLive라는 모듈을 씁니다.

방법은 다음 코드에 나온 것처럼 틱톡 사용자 이름을 사용해서 라이브 비디오가 실행 중이면 시청자의 수가 표시되므로 라이브라고 판단합니다.

그렇지 않으면(예: 아래 코드에서처럼) 종료됩니다.

from TikTokLive import TikTokLiveClient
from TikTokLive.types.events import ViewerCountUpdateEvent

client: TikTokLiveClient = TikTokLiveClient(unique_id="8_o2o", **({"fetch_room_info_on_connect": True}))


@client.on("viewer_count_update")
async def on_connect(event: ViewerCountUpdateEvent):
    print("Received a new viewer count:", event.viewerCount)


if __name__ == '__main__':
    client.run()

 

실행하면 다음과 같은 에러가 나는데요.

Traceback (most recent call last):
  File "C:\ProgramData\Anaconda3\envs\practice\lib\site-packages\TikTokLive\client\base.py", line 216, in _connect
    raise LiveNotFound()
TikTokLive.types.errors.LiveNotFound

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:/Users/ahmad/Desktop/ExTrac_Chat_DB/tiktok.py", line 13, in <module>
    client.run()
  File "C:\ProgramData\Anaconda3\envs\practice\lib\site-packages\TikTokLive\client\base.py", line 293, in run
    self.loop.run_until_complete(self._connect())
  File "C:\ProgramData\Anaconda3\envs\practice\lib\asyncio\base_events.py", line 616, in run_until_complete
    return future.result()
  File "C:\ProgramData\Anaconda3\envs\practice\lib\site-packages\TikTokLive\client\client.py", line 38, in _connect
    result: str = await super(TikTokLiveClient, self)._connect()
  File "C:\ProgramData\Anaconda3\envs\practice\lib\site-packages\TikTokLive\client\base.py", line 244, in _connect
    raise FailedConnection(message)
TikTokLive.types.errors.FailedConnection 

에러를 해결하려면 어떻게 하면 될까요? 

python tiktoklive

2022-06-04 10:58

1개의 해답

LiveNotFound exception을 잡아서 수동으로 처리해야 합니다.

이렇게 하려면 client.run() 호출을 다음과 같이 try except 블록으로 묶어야 합니다.

from TikTokLive import TikTokLiveClient
from TikTokLive.types.events import ViewerCountUpdateEvent
from TikTokLive.types.errors import LiveNotFound

client: TikTokLiveClient = TikTokLiveClient(unique_id="8_o2o", **({"fetch_room_info_on_connect": True}))


@client.on("viewer_count_update")
async def on_connect(event: ViewerCountUpdateEvent):
    print("Received a new viewer count:", event.viewerCount)


if __name__ == '__main__':
    try:
        client.run()
    except LiveNotFound:
        print("The video is no longer live."


2022-06-04 10:59

해결방법이나 팁을 알고 계신다면


© 2022 pinfo. All rights reserved.