【问题标题】:Get old tweets by user using tweepy使用 tweepy 获取用户的旧推文
【发布时间】:2018-03-23 18:39:31
【问题描述】:

我正在尝试使用 tweepy 从 01.11.2017 到 31.01.2018 收集用户 navalny 的推文。我有我需要的第一条和最后一条推文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)

但是,返回值是一个空列表。

  • 这里有什么问题?

  • 我可以获得的推文历史记录有什么限制吗?

  • 有哪些可能的解决方案?

【问题讨论】:

  • 正如贾斯汀所说,REST API 是有限的。另一种方法是进行高级搜索并废弃页面:twitter.com/…
  • @JeffProd 可以详细说明这一点,或者提供一个资源链接,我可以在其中找到有关该主题的更多信息?
  • Twitter 高级搜索:twitter.com/search-advanced - 抓取 Twitter:github.com/haccer/twint

标签: python web-scraping tweepy


【解决方案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 是 943856915536​​326662

您似乎在此处遇到了 Twitter 对用户时间线的推文抓取限制。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-07-23
    • 2016-01-07
    • 1970-01-01
    • 2022-07-05
    • 2019-06-02
    • 2015-03-31
    • 2020-09-07
    • 1970-01-01
    相关资源
    最近更新 更多