【发布时间】:2021-10-03 23:47:23
【问题描述】:
请在 tweepy 方面寻求帮助。
我正在尝试删除我的信息流中转发的条目,但运气不佳。我制作的脚本试图从特定用户(在此示例中为@olympics)流式传输推文,但最终主要获得转发。
代码是:
#!/usr/bin/env python
from tweepy import Stream, OAuthHandler
from tweepy.streaming import StreamListener
import time
import json
# Add your own
access_token = ''
access_token_secret = ''
consumer_key = ''
consumer_secret = ''
class listener(StreamListener):
def on_data(self, data):
# Twitter returns data in JSON format - we need to decode it first
tweet = json.loads(data)
print('@%s: %s' % (tweet['user']['screen_name'], tweet['text'].encode('ascii', 'ignore')))
with open('fetched_tweets.csv','a') as tf:
tf.writelines('%d,\"%s\",%s,%d,%d,\"%s\"\n' % (tweet['id'], tweet['created_at'], tweet['user']['screen_name'],
tweet['user']['followers_count'], tweet['user']['friends_count'],
tweet['text'].encode('ascii','ignore')#.replace('\n',' ', 100).replace(',',' ', 100)
))
return True
def on_error(self, status_code):
print(status_code)
auth = OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
twitterStream = Stream(auth, listener())
twitterStream.filter(follow=["52422878"], is_async=True)
Sample output is
@FanaiMahriati:b'@Olympics @ittfworld' @ArnHub:b'RT @Olympics:#NED 的 Tom Dumoulin 在#CyclingRoad 男子个人计时赛中获得#silver。\n\n#StrongerTogether | #东京2020 | @UCI_cy' @ftw_cdhn:b'RT @Olympics:#CyclingRoad 男子个人计时赛中#SLO 的@rogla 获得#gold!\n\n#StrongerTogether | #东京2020 | @UCI_cycling' @ftw_cdhn:b'RT @Olympics:#NED 的 Tom Dumoulin 在#CyclingRoad 男子个人计时赛中获得#silver。\n\n#StrongerTogether | #东京2020 | @UCI_cy' @Real_rafel20:b'RT @Olympics:#NED 的 Tom Dumoulin 在#CyclingRoad 男子个人计时赛中获得#silver。\n\n#StrongerTogether | #东京2020 | @UCI_cy' @tezol_mutlu:b'@Olympics Bravo Tom,Bravo Dumoulin。恭喜。'
非常感谢任何帮助和建议!提前致谢!
【问题讨论】:
标签: python twitter streaming tweepy