2016-11-28 1 views
-1

J'essaie d'extraire tous les caractères qui ne sont pas alphanumériques et d'extraire les URL d'un tweet en utilisant python. Je devrais seulement être laissé avec des mots séparés par des espaces. Par exemple: Si mon tweet est: "Salut, consultez ma page au https://www.tutorialspoint.com/python/python_strings.htm @phyton #phyton" Je devrais obtenir: "Salut consultez ma page à" Merci pour l'aide!Extraction d'urls, de mentions et de hashtags à partir d'un tweet

+0

Il y a des incohérences dans votre exemple, vous voulez inclure « salut », mais enlever à la fois « Phyton », même si la chaîne «Salut! inclut des caractères non alphanumériques. Incluez-vous la chaîne 'Hi' parce que ce n'est pas un tag comme 'phyton'? – davedwards

+0

oui j'y inclus salut car ce n'est pas un tag, c'est un mot mais je me débarrasse de toute la ponctuation – tubitubi

Répondre

0

En supposant que vous ayez déjà le texte du tweet, l'utilisation de certaines opérations intégrées de python sur les chaînes devrait être en mesure de faire ce que vous recherchez. Voici une compréhension à l'aide d'une doublure liste et la string.translate module:

import string 

my_tweet = "Hi! Check out my page at https://www.tutorialspoint.com/python/python_strings.htm @phyton #phyton" 
tweet_text = ' '.join([i.lower() for i in my_tweet.split() if not i.startswith(('http', '@', '#'))]).translate(None, string.punctuation) 
print tweet_text # hi check out my page at