首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用tweepy创建一个包含对特定推文的所有回复的列表?

如何使用tweepy创建一个包含对特定推文的所有回复的列表?
EN

Stack Overflow用户
提问于 2020-12-10 02:11:45
回答 1查看 36关注 0票数 0

我不知道为什么,但是tweepy没有直接的方法可以让你访问特定tweet的所有回复。我想将对tweet的回复存储在一个名为回复的列表中。

我在网上到处寻找解决方案,然而给定的解决方案似乎都不起作用,或者它们都过时了。

我一直在使用下面的代码,这是我在Stack overflow上从另一个用户那里找到的。

它应该获取一个用户(姓名)的10个最近的tweet,以及对特定tweet.The回复的回复,这些回复将保存到一个名为replies的列表中。您可以通过增加项目计数来检索更多推文(例如:项目(100))。

它正在捕获和打印主要的tweet,但是回复列表总是返回空的,并且没有回复被打印。

我非常感谢任何人的帮助,谢谢!

代码语言:javascript
复制
replies=[] 

non_bmp_map = dict.fromkeys(range(0x10000, sys.maxunicode + 1), 0xfffd)  
for full_tweets in tweepy.Cursor(api.user_timeline,screen_name=name,timeout=999999).items(10):
  for tweet in tweepy.Cursor(api.search,q='to:'+name,result_type='recent',timeout=999999).items(1000):
    if hasattr(tweet, 'in_reply_to_status_id_str'):
      if (tweet.in_reply_to_status_id_str==full_tweets.id_str):
        replies.append(tweet.text)
  print("Tweet :",full_tweets.text.translate(non_bmp_map))
  for elements in replies:
       print("Replies :",elements) 
EN

回答 1

Stack Overflow用户

发布于 2021-10-11 13:15:09

试试这个:

代码语言:javascript
复制
tweet_id='xxxxxxxxxxxxx'
replies=[]
for tweet in tweepy.Cursor(api.search,q='to:'+name, result_type='recent', timeout=999999).items(1000):
    if hasattr(tweet, 'in_reply_to_status_id_str'):
        if (tweet.in_reply_to_status_id_str==tweet_id):
            replies.append(tweet)

with open('xxx', 'w') as f:
csv_writer = csv.DictWriter(f, fieldnames=('replies'))
csv_writer.writeheader()
for tweet in replies:
    row = {'replies': tweet.text.replace('\n',' ')}
    csv_writer.writerow(row)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65222537

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档