Colab 上 Selenium 的 TikTokApi 问题宽度

问题描述

我正在尝试在带有硒的 Google Colab 上使用 TikTokApi 包,但我在使用 byUsernamegetUsername 时遇到问题。 我正在执行以下代码(有效)来添加 TikTokApi 和 chromedriver:

!pip install TikTokApi
!apt-get update
!apt install chromium-chromedriver
!cp /usr/lib/chromium-browser/chromedriver /usr/bin

然后我得到了一个 api 实例

from TikTokApi import TikTokApi
api = TikTokApi.get_instance(use_selenium = True,executablePath = "/usr/bin/chromedriver")

现在如果我使用 getUsername

username = 'fcbarcelona'
l = api.getUser(username)

我得到了结果(16 个视频)。另一方面,当我使用 byUsername 时,它引发了我的错误

username = 'fcbarcelona'
user_videos = api.byUsername(username,count = 20)

错误

/usr/local/lib/python3.7/dist-packages/TikTokApi/tiktok.py in __add_new_params__(self)
   1642             "user_agent": self.__format_new_params__(self.userAgent),1643             "cookie_enabled": "true",-> 1644             "screen_width": self.width,1645             "screen_height": self.height,1646             "browser_language": self.browser_language,AttributeError: 'TikTokApi' object has no attribute 'width'

据我所知,这个问题是由于 selenium 没有正确安装,即使我已经在 Colab 上使用过,而且代码的前一部分工作正常。我也不明白 byUsernamegetUsername间的区别。也许我在 Colab 上用 selenium 做错了什么,但我不知道如何解决

解决方法

解决方案在 github issue [INSTALLATION/BUG] - Selenium and Google Colab #548 中:

我正在通过 @mathigatti solution

关闭此问题
!pip install TikTokApi
!python -m pip install playwright
!apt install libgstreamer1.0-0 libwoff1 libgstreamer1.0-0 libgstreamer1.0-dev libgstreamer-plugins-good1.0-0 libgstreamer-gl1.0-0 libgstreamer-plugins-bad1.0-0
%%writefile test.py
from TikTokApi import TikTokApi 
#your code

然后

!python test.py