Как исключить ретвит при удалении твита с помощью tweepy - PullRequest
0 голосов
/ 10 июля 2020

Я хочу удалить данные из твиттера с помощью tweepy, но не хочу, чтобы ретвит был включен в него. Как это сделать?

Это мой код:

import tweepy
import csv

consumer_key = 'xx'
consumer_secret = 'xx'
access_token = 'xx'
access_token_secret = 'xx'

auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth,wait_on_rate_limit=True)

csvpefile = open ('netflix.csv', 'a')
csvWriter = csv.writer(csvpefile)


for tweet in tweepy.Cursor(api.search,
                       q=["netflix"], 
                       lang="id",
                       since="2020-07-8", 
                       tweet_mode = 'extended', 
                       trucated='false').items(200):

print(tweet.created_at, tweet.id, tweet.full_text)
csvWriter.writerow([tweet.created_at, tweet.id, tweet.full_text.encode('utf-8')])

я попробовал поставить

                    count=None,
                    since_id=None,
                    max_id=None,
                    trim_user=False,
                    exclude_replies=False,
                    contributor_details=False,
                    include_entities=True):
                  

и

q=["netflix -filter:retweets"]

в api.search, но он все равно не работает

Ответы [ 2 ]

1 голос
/ 20 июля 2020

Добавив быструю проверку, чтобы увидеть, начинается ли текстовая строка твита с rt @, вы сможете предотвратить появление ретвитов в вашем CSV-документе.

import tweepy
import csv

consumer_key = 'xx'
consumer_secret = 'xx'
access_token = 'xx'
access_token_secret = 'xx'

auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth,wait_on_rate_limit=True)

csvpefile = open ('netflix.csv', 'a')
csvWriter = csv.writer(csvpefile)


for tweet in tweepy.Cursor(api.search,
                       q=["netflix"], 
                       lang="id",
                       since="2020-07-8", 
                       tweet_mode = 'extended', 
                       trucated='false').items(200):

# could go without this variable it just makes it easier
tweettext = str(tweet.full_text.lower().encode('ascii',errors='ignore'))

# check if the tweet starts with the format for a retweet
if tweettext.startswith("rt @") == False:
    csvWriter.writerow([tweet.created_at, tweet.id, tweet.full_text.encode('utf-8')])
0 голосов
/ 10 июля 2020

Чтобы исключить ретвиты из поиска, попробуйте:

q=["netflix -filter:retweets"]

NB: использование tweepy не является «парсингом». Вы используете publi c API.

...