[PYTHON] tweepys api.search ist nicht perfekt! ??

Einführung

Ich habe LINE Bot erstellt, um automatisch das neueste Bild der Schauspielerin Mayu Matsuoka zu erhalten, die mein Lebensunterhalt ist.

Wenn Sie möchten, fügen Sie es bitte mit dem QR-Code hinzu. Ich freue mich. M.png

Ausführlichen Code finden Sie in den folgenden Artikeln oder in GitHub. ** [Ich habe einen LINE Bot erstellt, der jeden Tag empfohlene Bilder sendet] ** https://qiita.com/soma_sekimoto/items/4c01d0ab890024d6f87c

GitHub https://github.com/SomaSekimoto/MayuDelivery

Die Bildaufnahmequelle dieses Bildübertragungsbot ist Twitter. (Da die Informationen schnell sind, wird das neueste Bild schnell angezeigt.)

Ich habe es mit tweepy implementiert und war bis heute glücklich. Ich dachte, es wäre ein Tweepy-Gott.

Übrigens, wie Sie vielleicht bemerkt haben, schreibe ich nicht viel über technische Angelegenheiten.

Ich habe api.search mit tweepy verwendet, aber etwas stimmt nicht. .. ..

Ich habe es mir kürzlich ausgedacht Geben Sie das im Code beschriebene Suchwort in das eigentliche Twitter-Suchfenster ein und es ist genau das gleiche

Suchen Sie den Teilecode

q = f"#Mayu Matsuoka ODER Mayu Matsuoka-'Ähnlich wie Mayu Matsuoka' filter:media exclude:retweets min_faves:10 since:{yesterday}"

tweets = tweepy.Cursor( api.search, q=q, tweet_mode='extended', include_entities=True).items(20)

Als ich das Dokument las, wurde es richtig geschrieben.

https://github.com/tweepy/tweepy/blob/master/docs/api.rst

スクリーンショット 2020-10-23 23.42.15.png

Please note that Twitter's search service and, by extension, the Search API is not meant to be an exhaustive source of Tweets. Not all Tweets will be indexed or made available via the search interface.

Zusamenfassend

** "Nicht alle Tweets werden mit der Suchmethode abgerufen !!" **

Ich habe es so interpretiert.

War es überhaupt die Spezifikation von Tweepy? .. .. ..

Aber ich möchte wissen, welche Tweets ich bekommen kann und welche nicht. Ich möchte gerne wissen.

Ich konnte den Tweet bekommen, den ich mit result_type = "gemischt" aufnehmen wollte.

Ich konnte den Tweet bekommen, den ich bekommen wollte.

Vor der Korrektur

q = f"#Mayu Matsuoka ODER Mayu Matsuoka-'Ähnlich wie Mayu Matsuoka' filter:media exclude:retweets min_faves:10 since:{yesterday}"

tweets = tweepy.Cursor( api.search, q=q, tweet_mode='extended', include_entities=True).items(20)

Überarbeitet

q = f"#Mayu Matsuoka ODER Mayu Matsuoka-'Ähnlich wie Mayu Matsuoka' filter:media exclude:retweets min_faves:10 since:{yesterday}"

tweets = tweepy.Cursor( api.search, q=q, tweet_mode='extended', result_type="mixed", include_entities=True).items(20)

Es gibt drei Arten von Werten, die mit result_type festgelegt werden können. "Recent": Suche nach den neuesten Tweets in chronologischer Reihenfolge "beliebt": Suche nach beliebten Tweets (es ist nicht bekannt, nach welchen Kriterien die Popularität bestimmt wird) "gemischt": Eine Mischung der oben genannten. Es ist geworden.

Weitere Untersuchungen ergaben, dass der Standardwert auf "kürzlich" festgelegt wurde.

Siehe Artikel unten

https://note.com/katomaru0510/n/n8797618a68ce https://qiita.com/mima_ita/items/ba59a18440790b12d97e

abschließend

Es war ganz mein eigener Weg.

Natürlich kannte ich die Existenz von result_type, aber ich habe falsch verstanden, dass die Standardeinstellung darin besteht, alle unabhängig von der Art des Tweets abzurufen.

Ich habe es dieses Mal gelöst, aber ich konnte die API-Suche von Tweepy nicht grundlegend verstehen, daher werde ich mein Verständnis weiter vertiefen, während ich Tweepy verwende.

Recommended Posts

tweepys api.search ist nicht perfekt! ??