Recherche dans une chaine de caractère
Bonjour à tous ,
je travail sur la récupération de tweet en cas de catastrophes naturelle. j'arrive a récupérer les tweets que je désire seulement maintenant je voudrais analyser de manière automatique le texte de chaque tweets. Le but de l'analyse est de récupérer tous les noms de rue, Boulevard, Avenue, route, Sentier, Tunnel, Passage, Allée, Cour, Ruelle, Impasse ou Voie contenue dans le texte. Je me suis donc créée un code à part de manière à pouvoir faire quelques tests avant d’intégrer le tout dans le code générale. Le seul problème c'est que je n'arrive pas à récupérer de manière fiable et valable pour toutes chaine de caractère ses fameuse adresses.
voici mon code test, un peu répétitif:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129
|
import re
chaine = "A Castanet, écoulement de boue rue des frères Despont. Inondations rocade à Purpan et Bordelongue. #Toulouse https://t.co/lqq2F3QD4J"
chaine1 = "Violents orages : inondations et école évacuée à Pibrac près de Toulouse https://t.co/IqRmXwQJA5 https://t.co/M6wyt7Q23z "
chaine2 = "Boulevard Haussmann, nouveau restaurant"
chaine3 = "on sort du Sentier des marches"
chaine4 = "Impasse machin pour léconomie"
chaine5 = "Rues des frères, embouteillage"
chaine6 = "Problème avenue pipot"
lst= []
lst.append(chaine)
lst.append(chaine1)
lst.append(chaine2)
lst.append(chaine3)
lst.append(chaine4)
lst.append(chaine5)
lst.append(chaine6)
for i in range (0, len(lst)):
if "rue" or "Rue" in lst[i]:
localisation = lst[i].decode(('utf8').encode('iso8859-1', 'replace')
if localisation.find("rue") :
#place = re.findall( r'rue\s\w+\s\w+\W\w+\s\w+', localisation)
place = localisation.find("rue")
print localisation[place:]
elif localisation.find("Rue") :
place = localisation.find("Rue")
print localisation[place:]
elif "route" or "Route" in lst[i] :
localisation = lst[i].decode('utf8').encode('iso8859-1', 'replace')
if localisation.find("route") :
place = localisation.find("route")
print localisation[place:]
elif localisation.find("Route") :
place = localisation.find("Route")
print localisation[place:]
elif "boulevard" or "Boulevard" in lst[i]:
localisation = lst[i].decode('utf8').encode('iso8859-1', 'replace')
if localisation.find("boulevard") :
place = localisation.find("boulevard")
print localisation[place:]
elif localisation.find("Boulevard") :
place = localisation.find("Boulevard")
print localisation[place:]
elif "avenue" or "Avenue"in lst[i] :
localisation = lst[i].decode('utf8').encode('iso8859-1', 'replace')
if localisation.find("avenue") :
place = localisation.find("avenue")
print localisation[place:]
elif localisation.find("Avenue") :
place = localisation.find("Avenue")
print localisation[place:]
elif "impasse" or "Impasse" in lst[i] :
localisation = lst[i].decode('utf8').encode('iso8859-1', 'replace')
if localisation.find("impasse") :
place = localisation.find("impasse")
print localisation[place:]
elif localisation.find("Impasse") :
place = localisation.find("Impasse")
print localisation[place:]
elif "sentier" or "Sentier" in lst[i] :
localisation = lst[i].decode('utf8').encode('iso8859-1', 'replace')
if localisation.find("sentier") :
place = localisation.find("sentier")
print localisation[place:]
elif localisation.find("Sentier") :
place = localisation.find("Sentier")
print localisation[place:]
elif "allée" or "Allée" in lst[i] :
localisation = lst[i].decode('utf8').encode('iso8859-1', 'replace')
if localisation.find("allée") :
place = localisation.find("allée")
print localisation[place:]
elif localisation.find("Allée") :
place = localisation.find("Allée")
print localisation[place:]
elif "passage" or "Passage" in lst[i] :
localisation = lst[i].decode('utf8').encode('iso8859-1', 'replace')
if localisation.find("passage") :
place = localisation.find("passage")
print localisation[place:]
elif localisation.find("Passage") :
place = localisation.find("Passage")
print localisation[place:]
elif "cour" or "Cour" in lst[i] :
localisation = lst[i].decode('utf8').encode('iso8859-1', 'replace')
if localisation.find("cour") :
place = localisation.find("cour")
print localisation[place:]
elif localisation.find("Cour") :
place = localisation.find("Cour")
print localisation[place:]
elif "ruelle" or "Ruelle" in lst[i] :
localisation = lst[i].decode('utf8').encode('iso8859-1', 'ignore')
if localisation.find("ruelle") :
place = localisation.find("ruelle")
print localisation[place:]
elif localisation.find("Ruelle") :
place = localisation.find("Ruelle")
print localisation[place:]
elif "voie" or "Voie" in lst[i] :
localisation = lst[i].decode('utf8').encode('iso8859-1', 'replace')
if localisation.find("voie") :
place = localisation.find("voie")
print localisation[place:]
elif localisation.find("Voie") :
place = localisation.find("Voie")
print localisation[place:]
elif "tunnel" or "Tunnel" in lst[i] :
localisation = lst[i].decode('utf8').encode('iso8859-1', 'replace')
if localisation.find("tunnel") :
place = localisation.find("tunnel")
print localisation[place:]
elif localisation.find("Tunnel") :
place = localisation.find("Tunnel")
print localisation[place:]
else :
localisation =u"Null"
print ("pas de localisation") |
quelqu'un aurait-il une idée pour récupérer uniquement l'adresse dans une chaine de caractère ?