0
for tweet in tweepy.Cursor(api.search,q="football",lang="en").items(50):

我正在尝试从用户的用户名中获取带有特定文本的推文。然后还找到一条包含特定文本的推文。我尝试了多次,但似乎没有用。

谢谢你的帮助

4

1 回答 1

0

凭证存储在一个文件中,但您可以将代码更改为您喜欢的任何方式。这会遍历用户名并仅打印推文计数,但您可以再次根据需要进行修改以根据需要处理推文

from tweepy import API
from tweepy import Cursor
from tweepy.streaming import StreamListener
from tweepy import OAuthHandler
from tweepy import Stream
from pprint import pprint
import twitter_credentials
import json
import numpy as np
import pandas as pd

# # # # TWITTER CLIENT # # # #
class TwitterClient():
    def __init__(self, twitter_user=None):
        self.auth = TwitterAuthenticator().authenticate_twitter_app()
        self.twitter_client = API(self.auth)

        self.twitter_user = twitter_user

#-------------------------------get tweets------------------------------------------
    def get_user_timeline_tweets(self, num_tweets=20, repbool=False, rtsbool=True):
        tweets = []
        # name of tweepy api reference is 'user_timeline'

        for tweet in Cursor(self.twitter_client.user_timeline, id=self.twitter_user, tweet_mode='extended', include_entities=True, exclude_replies=repbool, include_rts=rtsbool).items(num_tweets):
            tweets.append(tweet)
            # print(tweet._json)
        return tweets
#-------------------------------get tweets------------------------------------------


# # # # TWITTER AUTHENTICATER # # # #
class TwitterAuthenticator():

    def authenticate_twitter_app(self):
        auth = OAuthHandler(twitter_credentials.CONSUMER_KEY, twitter_credentials.CONSUMER_SECRET)
        auth.set_access_token(twitter_credentials.ACCESS_TOKEN, twitter_credentials.ACCESS_TOKEN_SECRET)
        return auth

num_tweets = 200
user_list = ['TwitterSupport', 'TwitterMovies']
for user_handle in user_list:
# print(user_handle)
    twitter_client = TwitterClient(user_handle)
    tweets = twitter_client.get_user_timeline_tweets(num_tweets)
    print(len(tweets))
于 2021-08-07T03:03:26.113 回答