我正在尝试使用navalny
从2017年11月1日到2017年1月31日收集用户tweepy
的推文。我有ids
我需要的第一个和最后一个推文,所以我尝试了以下代码:
import tweepy
consumer_key = ''
consumer_secret = ''
access_token = ''
access_token_secret = ''
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth)
t = api.user_timeline(screen_name='navalny', since_id = 933000445307518976, max_id = 936533580481814529)
但是,返回的值是一个空列表。
这是什么问题?
我可以获得推文的历史限制吗?
有哪些可行的解决方案?
答案 0 :(得分:1)
快速回答: 使用Tweepy,您只能从给定用户的Twitter REST API中检索最近3200条推文。 不幸的是,您尝试访问的推文比这更早。
详细答案: 我使用下面的代码进行了检查:
import tweepy
from tweepy import OAuthHandler
def tweet_check(user):
"""
Scrapes a users most recent tweets
"""
# API keys and initial configuration
consumer_key = ""
consumer_secret = ""
access_token = ""
access_secret = ""
# Configure authentication
authorisation = OAuthHandler(consumer_key, consumer_secret)
authorisation.set_access_token(access_token, access_secret)
api = tweepy.API(authorisation)
# Requests most recent tweets from a users timeline
tweets = api.user_timeline(screen_name=user, count=2,
max_id=936533580481814529)
for tweet in tweets:
tid = tweet.id
print(tid)
twitter_users = ["@navalny"]
for twitter_user in twitter_users:
tweet_check(twitter_user)
此测试在936533580481814529
之前不返回任何内容使用单独的脚本我删除了所有3200条推文,最大的Twitter会让你刮,我能找到的最年轻的推文ID是943856915536326662
好像你在这里遇到Twitter的推文抓取限制用户时间线。