0

我正在尝试使用带有 selenium 的 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'

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

4

1 回答 1

0

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

我正在用@mathigatti 解决方案解决这个问题

!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
于 2021-04-04T08:22:14.350 回答