当我运行它时,终端不断地将“23851”绑定到新行中,这是我的文件f中第一个Twitter名称的关注者数量;我相信这意味着指针没有在文件f中移动,但我不确定在Python中应该如何正确地执行此操作2)当我检查我的文件f1时,什么都没有,i、 e.程序未按预期写入f1。你知道吗
import tweepy
from tweepy import Stream
from tweepy.streaming import StreamListener
from tweepy import OAuthHandler
CONSUMER_KEY = 'xxx'
CONSUMER_SECRET = 'xxx'
ACCESS_KEY = 'xxx'
ACCESS_SECRET = 'xxx'
auth = OAuthHandler(CONSUMER_KEY,CONSUMER_SECRET)
api = tweepy.API(auth)
auth.set_access_token(ACCESS_KEY, ACCESS_SECRET)
#Create Class First
class TweetListener(StreamListener):
# A listener handles tweets are the received from the stream.
#This is a basic listener that just prints received tweets to standard output
def on_data(self, data): # indented inside the class
print(data)
return True
def on_error(self, status):
print(status)
# open both files outside the loop
with open('Twitternames.txt') as f,open('followers_number.txt', 'a') as f1:
for x in f:
#search
api = tweepy.API(auth)
twitterStream = Stream(auth,TweetListener())
test = api.lookup_users(screen_names=['x'])
for user in test:
print(user.followers_count)
#print it out and also write it into a file
s = user.followers_count
f1.write(str(s) +"\n") # add a newline with +
#end of stackoverflow
f.close()
实际上,有一些事情需要考虑,也有一些不需要的线。所以我会逐行解释相关的事情,因为我们不需要任何流数据来计算跟随者的数量,所以我们只需要导入tweepy和OauthHandler,所以:
现在我们需要设置登录所需的4个键,因此,这将与:
我猜你不需要StreamListner只记录各种用户的数量。所以我跳过了这一部分,但是您可以在之后添加代码段。你知道吗
我假设
Twitternames.txt
的内容采用以下格式(每个用户名没有@
符号,并用新行分隔):现在用户名文件将是字符串列表
usernames_file= ['user_name_1\n', 'user_name_2\n', 'user_name_3\n']
,所以现在我们已经从文本文件中提取了各种用户名,但是我们需要去掉每个名称末尾的\n
字符。所以我们可以使用.strip()
方法。你知道吗现在我们可以使用lookup\u users方法了,因为这个方法将用户名列表作为输入。你知道吗
所以它可能看起来像这样:
如果要将结果记录到
.txt
文件中,则可以使用:因此,简短的最终代码如下所示:
相关问题 更多 >
编程相关推荐