如何修复闪烁错误"CRITICAL:root:twint.get:User:replace() argument 2 must be str, not None"



我正在尝试使用twint模块从Twitter获取一些信息,特别是生物。代码示例工作正常:

import twint
c = twint.Config()
c.Username = "twitter"
twint.run.Lookup(c)

收益 率

783214 | Twitter | @Twitter | Private: 0 | Verified: 1 | Bio: What’s happening?! | Location: Everywhere | Url: https://about.twitter.com/ | Joined: 20 Feb 2007 6:35 AM | Tweets: 10816 | Following: 140 | Followers: 56328970 | Likes: 5960 | Media: 1932 | Avatar: https://pbs.twimg.com/profile_images/1111729635610382336/_65QFl7B_400x400.png

问题是,我只需要生物数据。根据该网站,您可以使用

c.Format = 'bio: {bio}'

不幸的是,这会产生

CRITICAL:root:twint.get:User:replace() argument 2 must be str, not None

我认为这可能是由于以下代码行(从这里(:

output += output.replace("{bio}", u.bio)

此处分配 u.bio 值的位置:

u.bio = card(ur, "bio")

当我们的类型是"bio"时,卡片函数执行以下操作:

if _type == "bio":
    try:
        ret = ur.find("p", "ProfileHeaderCard-bio u-dir").text.replace("n", " ")
    except:
        ret = None

我认为问题可能出在第二部分,其中为 you.bio 分配了一个值,要么甚至没有被调用,要么由于某种原因返回 None。不幸的是,我不知道如何解决这个问题或调用该函数。

我以前遇到过类似的问题,使用不同的函数twint.run.Follow(c(,但是能够通过不设置c.User_full = true来解决它

谁能帮我?

格式应为

c.Format = "{bio}"

如果您想要多个字段

c.Format = "{bio} | {name}"

我发现在阻止程序下降之前,您的速率限制为 250 个项目,您需要等待几分钟才能解除。

相关内容

最新更新