Search code examples
pythontwitter

How to print tweet from from specific profile in python using twitter api


I want to print the tweets from a profile but I can't. I guess that I'm not using the right commands or something. I'm new in coding so I don't uderstand to much about api's. I can get info about the profile so the conection is right.

from tweepy import OAuthHandler
from tweepy import API
from tweepy import Cursor
from datetime import datetime, date, time, timedelta
from collections import Counter
import sys
import tweepy

#I don't put the secret token and all of that


auth = OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
auth_api = API(auth)

account_list = ["jufut390"]

if len(account_list) > 0:
  for target in account_list:
    print("Getting data for " + target)
    item = auth_api.get_user(target)  
    print("screen_name: " + item.screen_name) 


  #Get info about tweets
    end_date = datetime.utcnow() - timedelta(days=5)
    for status in Cursor(auth_api.user_timeline, id=target, tweet_mode = "extended").items():   
      #print tweets   
      if status.created_at < end_date:
        break

Solution

  • In this line :

    for status in Cursor(auth_api.user_timeline, id=target, tweet_mode = "extended").items():
    

    The id parameter has no effect. It should be user_id and a valid user ID (numeric) See : https://developer.twitter.com/en/docs/tweets/timelines/api-reference/get-statuses-user_timeline.html

    In you case, you can use the screen_name.

    Secondly, you say you want to print the tweets, so write a print. Try this :

    #Get info about tweets
    end_date = datetime.utcnow() - timedelta(days=5)
    for status in Cursor(auth_api.user_timeline, screen_name=item.screen_name, tweet_mode = "extended").items():   
        print(status.full_text)
        if status.created_at < end_date:
            break