使用python使用Gab.com API构建数据集生成keyerror 0

2024-09-29 19:23:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用gab.com的API从gab.com构建一个数据集。我有20个种子帐户,并希望得到他们的所有追随者和帐户,他们跟进到第三或第四级。我正在使用一个简单的gab库作为API,因为我找不到有用的文档

这是图书馆:

https://github.com/isd1ff/gab-lib

我只在二级跟踪器上得到这个错误。此外,它似乎只是返回每个种子帐户的前40个追随者,而不是所有的追随者。这是他们API的限制,所以Gab不会下降还是我需要分页

488
Traceback (most recent call last):
  File "<ipython-input-4-59b9ed5a855b>", line 1, in <module>
    runfile('C:/Users/User/Desktop/gab/api/main.py', wdir='C:/Users/User/Desktop/gab/api')

  File "C:\ProgramData\Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 786, in runfile
    execfile(filename, namespace)

  File "C:\ProgramData\Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 110, in execfile
    exec(compile(f.read(), filename, 'exec'), namespace)

  File "C:/Users/User/Desktop/gab/api/main.py", line 62, in <module>
    accounts2.append(followers_data[i]["id"])

KeyError: 0

这是我的代码:(种子用户句柄被删除)

from gab import lib

import json


BASE_URL="https://api.gab.com/"
CLIENT_TOKEN = "???????????????????????????????"

auth = lib.AuthAPI(BASE_URL,CLIENT_TOKEN)
gab = lib.GabAPI(auth)



seeds = [ "string1", "string2", ...]

accounts = []

accounts1 = []

accounts2 = []

for seed in seeds:
    seed_data = gab.user_search(seed)
    accounts.append(seed_data[0]["id"])

for account in accounts:
    followers_data = gab.user_followers(account).json()
    for i in range (0,len(followers_data)):
        accounts1.append(followers_data[i]["id"])

accounts1 = set(accounts1)

print (len(accounts1))

for account in accounts1:
    followers_data = gab.user_followers(account).json()
    for i in range (0,len(followers_data)):
        accounts2.append(followers_data[i]["id"])

accounts2 = set(accounts2)

print (len(accounts2))

Tags: inpycomapiidfordatalib

热门问题