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.
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.
if(result.entities["urls"]!=[] or ("media"or"is_quote_status") in result.entities):
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 __.
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.
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 __.
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