Exclure les tweets contenant des URL avec tweepy [Python]

Il sera d'abord gâté, mais il ne peut pas être filtré lors de l'acquisition avec API sauf RT. (Au moins je) Je vais vous présenter comment exclure le résultat de l'acquisition localement.

Je veux recevoir des tweets avec uniquement des commentaires avec tweepy. Un tweet avec seulement un simple commentaire ici est un tweet qui n'inclut pas d'URL.

Exemple de code

import tweepy

auth = tweepy.OAuthHandler(CK, CS)
auth.set_access_token(AT, AS)  
api = tweepy.API(auth)
result=api.user_timeline(screen_name="screen_name",count=n)
for result in results:
    print(result.entites)
    print(result.text)

Par exemple, si vous obtenez un devis RT comme ce tweet, result.text sera

Citer RT https://t.co/ksg6oW95Wo

L'URL de la source de la citation est incluse comme dans. De même, les tweets contenant des médias tels que des images et des vidéos obtiennent également l'URL de ce média.

Solution


if(result.entities["urls"]!=[] or ("media"or"is_quote_status") in result.entities):

Commentaire

・ Tweet avec URL et citer RT

Les «entités» de la citation ci-dessus RT sont les suivantes.

{'hashtags': [], 'symbols': [], 'user_mentions': [], 'urls': [{'url': 'https://t.co/ksg6oW95Wo', 'expanded_url': 'https://twitter.com/T3ahat/status/1242458821550690304', 'display_url': 'twitter.com/T3ahat/status/…', 
'indices': [5, 28]}]}

Comme vous pouvez le voir, ʻurls contient l'URL (de la citation), donc les tweets contenant la citation RT ou URL Vous pouvez juger si __result.entities ["urls"] `vaut [] ou __.

De plus, pour la citation RT, result.is_quote_status est True, donc Vous pouvez également juger si __result.is_quote_status vaut True ou __.

・ Retweeter

Un exemple des «entités» de RT est présenté ci-dessous.

{'hashtags': [], 'symbols': [], 'user_mentions': [{'screen_name': 'T3ahat', 'name': 'teahat', 'id': 890647790048509952, 'id_str': '890647790048509952', 'indices': [3, 10]}], 'urls': []}

Ainsi, dans RT, ʻurlsest []. Cependant,result.textrenvoie le texte du corps à RT, donc __ Ajoutez-filter: hoge` au mot de recherche __. Ceci est efficace car vous pouvez l'exclure lorsque vous accédez à l'API, vous n'avez donc pas à recevoir de tweets supplémentaires.

・ Tweets, y compris les médias

Tel Les «entités» des tweets comprenant des supports d'images sont les suivantes.

{'hashtags': [], 'symbols': [], 'user_mentions': [], 'urls': [], 'media': [{'id': 1242466345960144898, 'id_str': '1242466345960144898', 'indices': [6, 29], 'media_url': 'http://pbs.twimg.com/media/ET4gjwxVAAIVdD5.jpg', 'media_url_https': 'https://pbs.twimg.com/media/ET4gjwxVAAIVdD5.jpg', 'url': 'https://t.co/4IZF0jmTZy', 'display_url': 'pic.twitter.com/4IZF0jmTZy', 'expanded_url': 'https://twitter.com/T3ahat/status/1242466350351540225/photo/1', 'type': 'photo', 'sizes': {'thumb': {'w': 150, 'h': 150, 'resize': 'crop'}, 'large': {'w': 400, 'h': 400, 'resize': 'fit'}, 'medium': {'w': 400, 'h': 400, 'resize': 'fit'}, 'small': {'w': 400, 'h': 400, 'resize': 'fit'}}}]}

De cette façon, «urls» est [] pour les tweets qui incluent des médias. Cependant, result.text contient l'URL de l'image. Ce qui est remarquable ici, c'est que «media» est ajouté aux «entités». Les tweets qui n'incluent pas de média n'incluent pas la clé média en premier lieu, donc les tweets qui incluent des médias Vous pouvez juger si __ "media" dans result.entities est True ou __.

Résumé

Avec l'URL, citez RT: result.entites ["urls"]! = [] Ou result.is_quote_status RT: - filtre: exclure avec hoge __ Médias: __ "média" dans result.entities

Recommended Posts

Exclure les tweets contenant des URL avec tweepy [Python]
Collecter des tweets avec Python
Publier des tweets avec python
Recevez des tweets avec Tweepy
Rechercher des tweets Twitter avec Python
Exclure les cas spécifiés avec Python unittest
Tweet de python avec Twitter Developer + Tweepy
Obtenez des réponses à des tweets spécifiques avec tweepy
Recevez beaucoup de vos tweets avec Tweepy
Comment supprimer sélectivement les anciens tweets avec Tweepy
FizzBuzz en Python3
Grattage avec Python
Statistiques avec python
Grattage avec Python
Python avec Go
Twilio avec Python
Intégrer avec Python
Jouez avec 2016-Python
AES256 avec python
Testé avec Python
python commence par ()
avec syntaxe (Python)
Bingo avec python
Zundokokiyoshi avec python
Télécharger en masse des images à partir d'une URL spécifique avec python
Excel avec Python
Micro-ordinateur avec Python
Cast avec python
Obtenez des images et des vidéos de la chronologie des médias avec Python + Tweepy
Télécharger en masse des images à partir d'une URL de site spécifique avec python
Créez des tweets ordinaires comme une flotte avec AWS Lambda et Python
Communication série avec Python
Django 1.11 a démarré avec Python3.6
Jugement des nombres premiers avec Python
Python avec eclipse + PyDev.
Communication de socket avec Python
Analyse de données avec python 2
Grattage en Python (préparation)
Essayez de gratter avec Python.
Apprendre Python avec ChemTHEATER 03
"Orienté objet" appris avec python
Exécutez Python avec VBA
Manipuler yaml avec python
Résolvez AtCoder 167 avec python
Communication série avec python
[Python] Utiliser JSON avec Python
Apprendre Python avec ChemTHEATER 05-1
Apprenez Python avec ChemTHEATER
Exécutez prepDE.py avec python3
1.1 Premiers pas avec Python
Binarisation avec OpenCV / Python
3. 3. Programmation IA avec Python
Méthode Kernel avec Python
Non bloquant avec Python + uWSGI
Grattage avec Python + PhantomJS
Conduisez WebDriver avec python
Utiliser mecab avec Python 3
[Python] Redirection avec CGIHTTPServer
Analyse vocale par python
Pensez à yaml avec python