提升对历史 Twitter 数据访问的时间跨度

Timespan for Elevated Access to Historical Twitter Data

我有一个学术开发者帐户,我在 Twitter 上的个人资料页面在它上面有 Elevated,但是当我使用 Tweepy 访问推文时,它只抓取 7 天前的推文。如何将我的访问权限延长到 2006 年?

这是我的代码:

import tweepy
from tweepy import OAuthHandler
import pandas as pd


access_token = '#'
access_token_secret = '#'
API_key = '#'
API_key_secret = '#'

auth = tweepy.OAuthHandler(API_key, API_key_secret)
auth.set_access_token(access_token, access_token_secret)


api = tweepy.API(auth, wait_on_rate_limit=True)

tweets = []

count = 1


for tweet in tweepy.Cursor(api.search_tweets, q= "#SEARCHQUERY", count=5000).items(50000):
    
    print(count)
    count += 1

    try: 
        data = [tweet.created_at, tweet.id, tweet.text,
tweet.user._json['screen_name'], tweet.user._json['name'], tweet.user._json['created_at'], tweet.entities['urls']]
        data = tuple(data)
        tweets.append(data)
        

    except tweepy.TweepError as e:
        print(e.reason)
        continue

    except StopIteration:
        break

df = pd.DataFrame(tweets, columns = ['created_at','tweet_id', 'tweet_text', 'screen_name', 'name', 'account_creation_date', 'urls'])

df.to_csv(path_or_buf = 'local address/file.csv', index=False)

搜索所有端点在 Twitter API v2 中可用,它由 tweepy.Client 对象表示(您正在使用 tweepy.api)。

最重要的是您需要从 Twitter 获得学术研究访问权限。提升的访问权限授予额外的请求量,并在 v2(基本)访问权限之上访问 v1.1 APIs,但您需要一个帐户和具有学术访问权限的项目才能调用端点。在 Twitter 开发者门户中有一个申请流程。