Analyser un tweet pour extraire des hashtags dans un tableau en Python
Je vais avoir un diable de temps à la prise de l'information dans un tweet, y compris les hashtags, et en tirant chaque hashtag dans un tableau à l'aide de Python. Je suis gêné voire de mettre ce que j'ai essayé jusqu'à présent.
Par exemple, "j'aime #stackoverflow en raison du nombre de personnes qui sont très #utile!"
Ce doit tirer le 3 hashtags dans un tableau.
source d'informationauteur Scott
Vous devez vous connecter pour publier un commentaire.
Une simple regex:
Noter cependant que, comme l'a suggéré dans d'autres réponses, cela peut aussi trouver des hashtags, comme une table de hachage emplacement dans une URL:
Donc une solution simple serait le suivant (supprime les doublons comme un bonus):
AndiDogs réponse à vis avec des liens et d'autres choses, vous pouvez les filtrer d'abord. Après cela, utilisez ce code:
Il peut sembler exagéré, mais cela a été converti à partir d'ici http://github.com/mzsanford/twitter-text-java.
Il va la traiter comme 99% de tous les hashtags de la même manière que twitter gère.
Pour plus d'converti twitter regex découvrez ce: http://github.com/BonsaiDen/Atarashii/blob/master/atarashii/usr/share/pyshared/atarashii/formatter.py
EDIT:
Découvrez: http://github.com/BonsaiDen/AtarashiiFormat
Supposons que vous avez pour récupérer votre
#Hashtags
à partir d'une phrase pleine de symboles de ponctuation. Disons que#stackoverflow #people
et#helpful
sont terminés avec différents symboles, vous voulez les récupérer à partir detext
mais vous voudrez peut-être éviter les répétitions:si vous essayez avec
set([i for i in text.split() if i.startswith("#")])
seul, vous obtiendrez:qui dans mon esprit est redondante. Une meilleure solution à l'aide de RE avec module
re
:Maintenant, c'est ok pour moi.
EDIT: UNICODE
#Hashtags
Ajouter le
re.UNICODE
drapeau si vous souhaitez supprimer les signes de ponctuation, mais toujours en préservant les lettres avec accents, apostrophes et autres unicode codé des trucs qui peut être important si le#Hashtags
peut-être s'attendre à ne pas être uniquement en anglais... peut-être que ce n'est qu'un italien guy cauchemar, peut-être pas! 😉Par exemple:
sera encodé en unicode:
et vous pouvez récupérer votre (codé correctement)
#Hashtags
de cette façon:EDITx2: UNICODE
#Hashtags
et de contrôle pour#
répétitionsSi vous voulez contrôler pour plusieurs répétitions de la
#
symbole, comme dans (pardonnez-moi si letext
exemple est devenu presque illisible):alors vous devez remplacer ces multiples occurrences avec un unique
#
.Une solution possible est d'introduire un autre imbriquée implicite
set()
la définition de lasub()
fonction de remplacer les occurrences de plus de 1#
avec un seul#
:simple gist (mieux que la réponse choisie)
https://gist.github.com/mahmoud/237eb20108b5805aed5f
aussi travailler avec unicode hashtags
j'ai eu beaucoup de problèmes avec les langues unicode.
j'avais vu de nombreuses façons d'extraire les hashtag, mais non de leur répondre sur tous les cas
j'ai donc écrit quelques petits code python pour gérer la plupart des cas. il fonctionne pour moi.
J'ai extrait des hashtags dans un stupide mais efficace.