当前位置: 首页 > 知识库问答 >
问题:

我的tweepy推特机器人坏了,我做错了什么?

薄龙光
2023-03-14

它返回几个错误,其中大多数显示:<代码>

我对编码很陌生,我只是想用推特API制作一个有趣的机器人,但有很多错误,我不知道该怎么办。

出现的主要错误如下:

(从集合导入namedtuple,映射导入错误:无法从“集合”导入名称“映射”)

谁能帮帮我吗?

import tweepy

# Authenticate to Twitter
auth = tweepy.OAuthHandler("", "")
auth.set_access_token("", "")
api = tweepy.API(auth)

# Pegar ID do bot
bot_id = int(api.me().id_str)


class MyStreamListener(tweepy.StreamListener):
    def on_status(self, tweet):
        print("tweet encontrado!")
        print(f"TWEET: {tweet.author.scream_name} - {tweet.text}")
        if tweet.author.id != bot_id and tweet.in_reply_to_status_id is None:
            if not tweet.retweeted:
                try:
                    print("Tentando retuite...")
                    api.retweet(tweet.id)
                    print("Retuitado com sucesso!")
                except Exception as err:
                    print(err)


stream_listener = MyStreamListener()
stream = tweepy.Stream(auth=api.auth, Listener=stream_listener)
stream.filter(track=['Squirrel', 'Squirrels', 'squirrel', 'squirrels', 'Esquilo', 'Esquilos'], languages=['en', 'pt'])

出现的错误:回溯(最近一次调用):文件“C:\Users\wgama\PycharmProjects\botesquilo\botesquilo.py”,第1行,在导入tweepy文件“C:\Users\wgama\AppData\Local\Programs\Python\Python310\lib\site packages\tweepy\u init.py”中,第12行,来自tweepy。api导入api文件“C:\Users\wgama\AppData\Local\Programs\Python\Python310\lib\site packages\tweepy\api.py”,第15行,在导入urllib3文件“C:\Users\wgama\AppData\Local\Programs\Python\Python310\lib\site packages\requests\u init\u.py”第43行,在导入urllib3文件“C:\Users\wgama\AppData\Local\Programs\Python\Python310\lib\site packages\u init\u init.py”第8行,在from中。连接池导入(文件“C:\Users\wgama\AppData\Local\Programs\Python\Python310\lib\site packages\urllib3\connectionpool.py”,第29行,from.connection导入(文件“C:\Users\wgama\AppData\Local\Programs\Python\Python310\lib\site packages\urllib3\connection.py”,第39行,from.util.ssl\uimport(文件“C:\Users\wgama\AppData\Local\Programs\Python\Python310\lib\site packages\urllib3\util\u init\uuu0.py”,第3行,来自。连接导入是从中删除的文件“C:\Users\wgama\AppData\Local\Programs\Python\Python310\lib\site packages\urllib3\util\connection.py”,第3行。wait import wait\u for\u读取文件“C:\Users\wgama\AppData\Local\Programs\Python\Python310\lib\site packages\urllib3\util\wait.py”,第1行,来自。选择器导入(文件“C:\Users\wgama\AppData\Local\Programs\Python\Python310\lib\site packages\urllib3\util\selectors.py”,第14行,从集合导入namedtuple,映射导入错误:无法从集合导入名称“Mapping”(C:\Users\wgama\AppData\Local\Programs\Python\Python310\lib\collections\u init.py)

共有1个答案

邵繁
2023-03-14

正如在评论中所调查的那样,问题是因为您使用的是与Python 3.10不兼容的旧版本Tweepy。

因此,对Tweepy最新版本(目前为4.8.0)的更新应该可以解决您的问题。

但请注意,API。me()方法自4.0.0版本的Tweepy以来已被删除,因此您必须用API替换它。verify\u credentials()方法。

编辑:我只是更仔细地阅读了你的代码,我本可以发现其他错误:推特对象中没有“作者”字段,而是“用户”字段,我猜你指的是“屏幕名称”,而不是“尖叫名称”(!)。最后,在更新到Tweepy的最新版本后,还必须替换Tweepy。StreamListener由tweepy编写。流

 类似资料:
  • 我正在做一个项目,我的意图是运行一个玉米作业,并发送邮件给我的朋友,祝他们生日,我能够从MySQL DB获取电子邮件,并将其与当前日期进行比较,但当涉及到发送电子邮件时,我得到NullPointerException。 我确信应用程序属性没有问题,我在其他项目中也使用了它们,它们的功能正常 这是我得到以下信息的错误

  • 我要离开一个网站(https://realpython.com/how-to-make-a-discord-bot-python/#how-to-make-a-discord-bot-in-python)和我下面的步骤,但我一直得到一个错误msg Traceback(最近一次调用最后一次): File"C:\用户\Bryce.Persello346\Desktop\bot.py",第15行,cli

  • 11:15:57创建表如果不存在tblcompany(companyid INT(11)无符号NOT NULL,custfirst VARCHAR(50),custlast VARCHAR(50),company VARCHAR(50),custphone VARCHAR(50), custemail VARCHAR(50),主键(companyid),索引(companyid),约束外键(com

  • 问题内容: 我有一些代码来计算圆的属性: 它计算周长,但不计算其余部分。 问题答案: 是一个,也一个,这意味着不能在第二个打印语句中使用。试试那里。 回想一下,这是浮点数,而整数。在的文档中对此进行了概述(请参阅“ 格式化字符串语法”)。

  • 我正在使用EclipseIDE编程。在完成有关Apache POI的教程后: https://www.youtube.com/watch?v=RsrF2Ku7ad4 我通过eclipse和以下链接创建了一个可执行jar:http://help.eclipse.org/mars/index.jsp?topic=/org.eclipse.jdt.doc.user/tasks/tasks-37.htm

  • 我使用的是SPARK-SQL-2.4.1、SPARK-Cassandra-Connector2.11-2.4.1和java8以及apache Cassandra3.0版本。 我有如下所示的spark-submit或spark集群环境,可以加载20亿条记录。 当我检查日志时,我看到警告com.datastax.spark.connector.writer.QueryExecutor-BusyPool