Russell-Newton / TikTokPy

Extract data from TikTok without needing any login information or API keys.
https://pypi.org/project/tiktokapipy/
MIT License
203 stars 25 forks source link

[BUG] ValidationError: 4 validation errors for VideoPage itemInfo.itemStruct.stats #72

Closed iGeTT closed 10 months ago

iGeTT commented 1 year ago

Trying to iterate over user's videos. Can happen on 500th, 900th, 1800th video, totally random

Traceback (most recent call last):
  File "/Users/user/Shorts/scraper2.py", line 25, in <module>
    for video in user.videos:
  File "/usr/local/lib/python3.11/site-packages/tiktokapipy/util/deferred_collectors.py", line 62, in __next__
    self._fetch_sync()
  File "/usr/local/lib/python3.11/site-packages/tiktokapipy/util/deferred_collectors.py", line 211, in _fetch_sync
    self._collected_values.append(self._api.video(video.id))
                                  ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/tiktokapipy/api.py", line 196, in video
    response = VideoPage.model_validate(
               ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/pydantic/main.py", line 496, in model_validate
    return cls.__pydantic_validator__.validate_python(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
pydantic_core._pydantic_core.ValidationError: 4 validation errors for VideoPage
itemInfo.itemStruct.stats
  Field required [type=missing, input_value={'createTime': 0, 'desc':...'70392222', '71486688']}, input_type=dict]
    For further information visit https://errors.pydantic.dev/2.1/v/missing
itemInfo.itemStruct.video
  Field required [type=missing, input_value={'createTime': 0, 'desc':...'70392222', '71486688']}, input_type=dict]
    For further information visit https://errors.pydantic.dev/2.1/v/missing
itemInfo.itemStruct.music
  Field required [type=missing, input_value={'createTime': 0, 'desc':...'70392222', '71486688']}, input_type=dict]
    For further information visit https://errors.pydantic.dev/2.1/v/missing
itemInfo.itemStruct.author
  Field required [type=missing, input_value={'createTime': 0, 'desc':...'70392222', '71486688']}, input_type=dict]
    For further information visit https://errors.pydantic.dev/2.1/v/missing

tiktokapipy-0.2.3 playwright-1.37.0 python 3.11.3 macOS 13.3 US

Russell-Newton commented 10 months ago

This should be fixed in version 0.2.4. Closing as complete