Es wird zuerst verwöhnt, kann aber beim Erwerb mit API außer RT nicht gefiltert werden. (Zumindest ich) Ich werde vorstellen, wie das Akquisitionsergebnis lokal ausgeschlossen werden kann.
Ich möchte Tweets mit nur Kommentaren mit Tweepy erhalten. Ein Tweet mit nur einem einfachen Kommentar ist ein Tweet, der keine URL enthält.
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)
Wenn Sie beispielsweise ein RT-Zitat wie diesen Tweet erhalten, lautet "result.text"
Zitat RT https://t.co/ksg6oW95Wo
Die URL der Zitierquelle ist wie in enthalten. In ähnlicher Weise erhalten Tweets, die Medien wie Bilder und Videos enthalten, auch die URL zu diesen Medien.
if(result.entities["urls"]!=[] or ("media"or"is_quote_status") in result.entities):
Die "Entitäten" des obigen Zitats RT sind wie folgt.
{'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]}]}
Auf diese Weise enthält "urls" die URL (des Zitats), also Tweets, die das Zitat RT oder die URL enthalten
Sie können beurteilen, ob __result.entities ["urls"]
[] oder __ ist.
Für Zitat RT ist result.is_quote_status
auch True
Sie können auch beurteilen, ob __result.is_quote_status True oder __ ist.
Ein Beispiel für RT-Entitäten ist unten gezeigt.
{'hashtags': [], 'symbols': [], 'user_mentions': [{'screen_name': 'T3ahat', 'name': 'teahat', 'id': 890647790048509952, 'id_str': '890647790048509952', 'indices': [3, 10]}], 'urls': []}
In RT ist "urls" also []. Result.text
gibt jedoch den Text des Körpers als RT zurück
__ Fügen Sie dem Suchwort "-filter: hoge" hinzu.
Dies ist effizient, da Sie es ausschließen können, wenn Sie auf die API klicken, sodass Sie keine zusätzlichen Tweets erhalten müssen.
Such Die "Entitäten" von Tweets einschließlich Bildmedien sind wie folgt.
{'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'}}}]}
Auf diese Weise sind die "URLs" [] für Tweets, die Medien enthalten. Result.text
enthält jedoch die URL des Bildes.
Der hier zu beachtende Punkt ist, dass "Medien" zu "Entitäten" hinzugefügt werden. Tweets, die keine Medien enthalten, enthalten in erster Linie nicht den Schlüssel "Medien", also Tweets, die Medien enthalten
Sie können beurteilen, ob __ "media" in result.entities True oder __ ist.
Zitieren Sie mit URL RT: result.entites ["urls"]! = [] Oder result.is_quote_status RT: - Filter: Mit Hoge ausschließen __ Medien: __ "Medien" in result.entities
Recommended Posts