我正在尝试使用Paginator()方法,以便我可以收集超过100条推文。
下面是我的代码:
query = '("illegal alien") place_country:US -is:retweet'
start_time = '2010-04-06T00:00:00Z'
end_time = '2022-12-02T00:00:00Z'
tweets = tweepy.Paginator(client.search_all_tweets(query=query, tweet_fields=['context_annotations', 'created_at', 'geo'],
place_fields = ['place_type','geo'], expansions='geo.place_id',
start_time=start_time,
end_time=end_time, max_results=100)).flatten(limit=200)
for tweet in tweets:
print(f"Tweet ID: {tweet.id}nText: {tweet.text},nCreated at: {tweet.created_at}nn")
由于某种原因,这会返回错误:
AttributeError: 'Response' object has no attribute '__name__'. Did you mean: '__ne__'?
我认为我的Paginator调用结构不正确,我想知道如何正确地发表声明。
在search_recent_tweets
方法的Tweepy Docs
中,参数位于方法签名内,而Tweepy Docs for Pagination
中search_recent_tweets
的参数位于签名外,并转换为painator方法的参数。
下面是一个更清晰的例子:
start_time = '2021-04-06T00:00:00Z'
end_time = '2022-12-02T00:00:00Z'
tweets = tweepy.Paginator(client.search_all_tweets,
query='illegal alien',
tweet_fields=[
'context_annotations', 'created_at', 'geo'],
place_fields=['place_type', 'geo'],
expansions='geo.place_id',
start_time=start_time,
end_time=end_time, max_results=100)
print({tweets})
这不会给出任何错误,并打印一个分页器对象。