当前位置: 首页 > 面试题库 >

Tweepy-排除转发

凤昊东
2023-03-14
问题内容

最终目标是使用tweepy
API搜索来关注主题(即docker)并排除转发。我看过其他提到除转发以外的话题,但它们完全适用。我试图将我学到的东西合并到下面的代码中,但是我相信“如果没有”的代码位置错误。任何帮助是极大的赞赏。

#!/usr/bin/python
import tweepy
import csv #Import csv
import os

# Consumer keys and access tokens, used for OAuth
consumer_key = 'MINE'
consumer_secret = 'MINE'
access_token = 'MINE'
access_token_secret = 'MINE'

# OAuth process, using the keys and tokens
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)


api = tweepy.API(auth)
# Open/Create a file to append data
csvFile = open('docker1.csv', 'a')
#Use csv Writer
csvWriter = csv.writer(csvFile)


ids = set()
for tweet in tweepy.Cursor(api.search, 
                    q="docker", 
                    Since="2016-08-09", 
                    #until="2014-02-15", 
                    lang="en").items(5000000):
if not tweet['retweeted'] and 'RT @' not in tweet['text']:
    #Write a row to the csv file/ I use encode utf-8
    csvWriter.writerow([tweet.created_at, tweet.text.encode('utf-8'), tweet.favorite_count, tweet.retweet_count, tweet.id, tweet.user.screen_name])
    #print "...%s tweets downloaded so far" % (len(tweet.id))
    ids.add(tweet.id) # add new id
    print ("number of unique ids seen so far: {}",format(len(ids)))
csvFile.close()

错误信息


问题答案:

所以tweet是一个对象不是一个JSON或快译通,你不应该像访问tweet['retweeted']tweet['text']

而是使用以下行:

if not tweet.retweeted:

或为您的用例:

if (not tweet.retweeted) and ('RT @' not in tweet.text):

在API级别进行过滤

q='your_search -filter:retweets'

在这里阅读更多内容。



 类似资料:
  • 问题内容: 我正在使用Tweepy下载推文。我有一个程序,然后将实际对象以文本形式写入文件。如何将其转换为JSON,或将此对象导入回Python?我尝试使用JSON库进行编码,但是Status无法JSON可序列化。 问题答案: 所述tweepy本身的对象不是JSON序列化的,但它有一个含有JSON序列化的响应数据属性。例如:

  • 使用tweepy,我们可以按位置和多个位置搜索推文,例如: 然而,当我试图将来自纽约的所有推文放在一个列表中,并将来自旧金山的推文放在另一个列表中时,我无法将它们分配到任何一个列表。这是我的代码片段: 如何将它们正确地放在正确的列表中?

  • 我是XSLT的新手,命名空间有问题。这是我必须转换的XML: 我正在使用以下XSLT: 结果是: 我试图删除结果输入顺序中的名称空间,但它不适合我。有人能帮我学习XSLT吗?谢谢

  • 我使用的代码类似于下面的代码,来自:https://github.com/tweepy/tweepy/blob/master/examples/streaming.py 该API允许您跟踪多个过滤器术语,在本例中track=['usa','canada']。这基本上意味着该流将收集提到“加拿大”或“美国”的推文。 问题是函数on_data()打印数据,但是它没有指定数据属于哪个过滤条件。当您只按一

  • 我试图用tweepy和textblob分析推特的情绪。我确实安装了pip tweepy,并且安装成功,但是我得到了以下错误。 错误消息:导入tweepy文件“C:\Users\joshey\Desktop\sent.py”第2行中的文件“C:\Users\joshey\AppData\Local\Programs\Python\Python37\lib\site packages\tweepy\u

  • 我刚开始使用Tweepy,我只是试图从youtube教程中执行这行代码,但一直出错。有人知道这是怎么回事吗?这是我的密码 错误: 回溯(最近一次调用):文件“/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site packages/tweepy/binder.py”,第186行,在execute auth=auth中