Si vous avez décidé quoi faire et la suspension, c'est votre style de commencer ** par google. En bref, "** 80% de ce que je voulais faire, c'est quelqu'un qui le fait en premier **". Même dans Qiita, Des choses similaires ( Je veux dire, il y a des gens qui font des choses plus avancées) , et je n'ai pas d'autre choix que de l'utiliser comme référence, mais malheureusement, il n'y a aucun cas où tout va bien. Dans la mesure où j'ai enquêté sur Stack Over Flow, il n'y avait aucun cas où un programme qui pourrait correctement répondre aux spécifications requises a été publié. Cela aurait été plus facile s'il y avait ... Chi </ sub>
Même si vous faites quelque chose qui répond aux exigences dans la gamme de ~ ~ script kiddy ~ ~ usage personnel, vous devrez organiser vous-même cette zone.
Il existe à peu près deux types d'acquisition de données depuis Twitter, "** API REST ** utilisée" et "** API de streaming ** utilisée". ** REST ** est un moyen d'envoyer un message et de renvoyer le résultat, tandis que ** Streaming API ** envoie une commande une fois, puis lui envoie le résultat à l'infini. Il sera envoyé. (Et je comprends. Veuillez consulter la documentation pour plus de détails. )
La raison de la rendre Public Steram en premier lieu est
C'est une raison très paresseuse pour laquelle l'API Stream semble moins gênante que REST, si vous venez d'apporter une bibliothèque appropriée et de la lire. Vous devriez simplement continuer à jeter ce qui a été envoyé dans la base de données.
Il existe également plusieurs API Stream, ** "Tout ce qui est transféré vers Twitter (contrat requis)" **, ** "Tweets sur ma chronologie" **, ** "Aléatoire 1% du total" * Il existe plusieurs * et ** "résultats restreints par mots clés, paramètres régionaux, etc. pour l'ensemble" , mais ici le dernier " <a href =" https://dev.twitter.com/streaming/reference " / post / statuses / filter "> Limité par le mot de recherche spécifié **" est utilisé. Public Stream semble être un terme générique pour ceux-ci, mais je n'en suis pas sûr. (je viens de le chercher, mais est-il correct de comprendre que le nombre total de tweets pouvant être obtenus avec Filfer n'est pas de 1%, mais de tous?) </ Small>
Peut-être parce que c'est un humain Rotor, on dit que l'API Stream maintient une connexion HTTP, mais elle n'est pas fiable, ou ** elle se déconnecte même si rien ne se passe. Je crains plutôt d'être déconnecté ** car il n'y a pas de problème. Même si vous regardez le livre de référence précédent (référence de poche), il est écrit de telle manière que vous devez supposer une reconnexion car il sera déconnecté si quelque chose se produit. …… Mais, même si vous regardez la page d'une bibliothèque bien connue ou l'exemple de sa mise en œuvre par vous-même, il n'y a pas de page qui décrit la reconnexion après déconnexion * dans la plage que vous pouvez voir approximativement. * ...... Pouvez-vous faire cela avec l'API? Si c'est le cas, cela n'a jamais été aussi facile ...
(Remarque pour ceux qui savent: j'écris le long de la série chronologique dans mon cerveau tout en codant et en me souvenant, alors s'il vous plaît attendez un peu)
J'ai beaucoup de choses à penser, mais j'ai décidé d'envisager une bibliothèque connectée à Twitter avec beaucoup de documents japonais dans la perspective de faire référence au merveilleux code de mes prédécesseurs.
Quand j'ai recherché une bibliothèque du même point de vue du côté de la base de données,
Une plaque de fer qui a tendance à être appropriée? Eh bien, si Shiroto devait faire quelque chose à ce sujet, il devrait utiliser le standard ...
Après avoir décidé quoi utiliser, préparons un environnement de développement et un environnement de test. Je suis un magasin Gatchigachi Win qui est venu de VB et est venu en C → VC ++ → C #. Bien sûr, l'environnement qui peut être utilisé pour le développement est également Windows, il va donc sans dire qu'il est idéal de pouvoir développer sur Win jusqu'à juste avant la sortie = implémentation. Ou plutôt, si vous n'avez pas d'IDE (Integrated Development Environment), vous mourrez instantanément. Plus encore, si on vous dit comment le faire sous Linux, vous n'avez pas d'autre choix que de vous asseoir.
Heureusement, puisqu'il s'agit d'un langage de script, il n'y a pas beaucoup de dépendance vis-à-vis de l'environnement, et de nos jours l'installation des bibliothèques, etc. est automatisée, donc le problème devrait être beaucoup moins important que par le passé.
Je pense que c'est bien pour l'infrastructure, mais je veux utiliser IDE après tout ~~ J'ai léché le monde ~~ Quand j'ai été recherché sur Google dans un environnement familier, Python Tools pour Visual Studio est une chose merveilleuse. ** De plus, vous pouvez facilement déboguer sur place en appelant la version Win Python comme Anaconda **. Parce qu'il n'y a plus que ça
Décidé de développer et de tester avec la configuration. Par souci,
Eh bien, dans tous les cas, le test de la machine est nécessaire à la fin, et si vous ne l'écrivez pas correctement, aucun problème ne se produira, alors laissez-le pour le moment. (Si c'est un travail, j'ai peur de devoir tout emballer ...)
Le programme que je crée cette fois-ci porte la règle du diable qu'une fois que vous commencez à courir, vous pouvez continuer à exécuter ce que vous voulez pendant 3 mois et l'arrêter. Par conséquent, nous allons l'implémenter en nous concentrant sur les fonctions essentielles, et faire autre chose par d'autres moyens **.
Eh bien, ça ressemble à ça. Commençons par les éléments avec la plus haute priorité et améliorons progressivement le degré de perfection.
Avec le vœu de "** Ayez le tutoriel Python d'O'Reilly à portée de main " et " Gugu si vous ne comprenez pas **", j'ai commencé à créer un programme de démonstration pour le moment. À partir de la création d'un nouveau projet dans Visual Studio, spécifiez «Python Application» et vous êtes prêt à écrire du code Python dans votre éditeur familier. C'est pratique. Après avoir tapé le code du didacticiel, exécutez-le avec [F5]. Vous pouvez l'essayer avec la même procédure que l'application console en langage C, donc il n'y a vraiment pas de stress. Je suis désolé de ne pas pouvoir marcher.
Eh bien, si vous ne pouvez pas parler d'abord à Twitter, c'est hors de question, alors commençons par faire cette zone. Vous devez d'abord installer Tweepy. Si vous pensez que vous pouvez taper la commande "pip" à partir d'Anaconda Prompt, cela peut également être exécuté à partir de Visual Studio.
C'est aussi amusant que NuGet.
Flux basé sur certaines pages trouvées par google pour le moment et le tutoriel de Tweepy Écrivez un programme pour obtenir des tweets avec l'API.
tweetCheck.py
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import tweepy
#Préparez vous-même les variables requises pour exécuter l'API Twitter.
CK = '' # Consumer Key
CS = '' # Consumer Secret
AT = '' # Access Token
AS = '' # Accesss Token Secert
class Listener(tweepy.StreamListener):
def on_status(self, status):
print(status.text.encode('shift_jis', 'ignore'))
return True
def on_error(self, status_code):
print('Erreur est survenue: ' + str(status_code))
return True
#Traitement principal d'ici
auth = tweepy.OAuthHandler(CK, CS)
auth.set_access_token(AT, AS) #Obtenez un jeton d'accès
listener = Listener() #Instance de classe d'écouteur
stream = tweepy.Stream(auth, listener) #La réception commence à partir d'ici.
#Sélectionnez-en un et décommentez-le.
#stream.filter(track=['#xxxxxx']) #Filtrer par mot de recherche spécifié
stream.sample() #1 de tous les tweets Twitter%ramasser
#stream.userstream() #Propre TL de l'utilisateur
…… Eh, 31 lignes (lignes vierges, y compris les commentaires)? Que puis-je faire avec ça? ?? Exécutez en réfléchissant. Je ne peux pas le lire (parce que c'est UTF-8), mais je peux le recevoir. Terminez de force avec Ctrl + C.
On a l'impression que ça bouge rapidement, mais il est en fait bouché à deux endroits.
Le premier est correct si vous le réparez la première fois. Ce dernier est correct car il n'a pas besoin d'être affiché s'il est toujours en mouvement. Si Python peut être géré dans cette mesure dans quelques jours pour la première fois, il se peut que ce soit inattendu à temps pour la fin octobre.
La prochaine fois, je vais étoffer cette sauce. (Continuer)
Recommended Posts