Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Shop Recherche
494 connectés 

  FORUM HardWare.fr
  Programmation
  Python

  [Python] Aide BeautifulSoup

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Python] Aide BeautifulSoup

n°2265789
dudzz
Le lait, après les céréales
Posté le 12-09-2015 à 23:30:55  profilanswer
 

Salut !
 
Voilà l'histoire je suis très novice dans le Python et je me suis lancé pour créer un petit script qui va récupérer des infos précise dans un tableau html, je m'explique :
 
J'aimerais pouvoir récupérer une suite de 10 chiffres qui suit après un terme bien précis.
 
Par exemple il faudrait que le script analyse chaque <td></td> puis dès qu'il trouve la chaine de caractère "Phone#:" sort les 10 chiffre qui suit.
 
 
 
Mon travail jusqu'a maitenent :
 

Code :
  1. import mechanize
  2. from bs4 import BeautifulSoup
  3. #login
  4. browser = mechanize.Browser()
  5. browser.set_handle_robots(False)
  6. browser.open('http://192.168.0.10/box/reseau-pa4-logs.htm')
  7. browser.select_form(nr = 0)
  8. browser.form['loginUsername'] = 'admin'
  9. browser.form['loginPassword'] = 'admin'
  10. browser.submit()
  11. html = browser.response().read()
  12. # Parser html
  13. soup = BeautifulSoup(html, "html.parser" )
  14. soup_2 = soup.findAll("td" )
  15. print soup_2


 
 
Ce qui renvoi comme résultat :
 

Code :
  1. [<td width="250"><span class="fontestableau">Temps</span></td>, <td width="442"><span class="fontestableau">Description</span></td>, <td>\xa012/9/2015 17:41:19\xa0</td>, <td>\xa0Call States Notify - Line1: Call ended. Phone#: 06xxxxxxxx.\xa0</td>, <td>\xa012/9/2015 17:34:12\xa0</td>, <td>\xa0Call States Notify - Line1: Incoming call from 06xxxxxxxx.\xa0</td>, <td>\xa012/9/2015 17:34:12\xa0</td>, <td>\xa0Call States Notify - Line1: Incoming call from .\xa0</td>, <td>\xa012/9/2015 16:35:27\xa0</td>, <td>\xa0Call States Notify - Line1: Call ended. Phone#: 06xxxxxxxx.\xa0</td>, <td>\xa012/9/2015 16:35:08\xa0</td>, <td>\xa0Call States Notify - Line1: Incoming call from 06xxxxxxxx.\xa0</td>, <td>\xa012/9/2015 16:35:08\xa0</td>, <td>\xa0Call States Notify - Line1: Incoming call from .\xa0</td>, <td>\xa011/9/2015 09:56:47\xa0</td>, <td>\xa0Call States Notify - Line1: Call ended. Phone#: 06xxxxxxxx.\xa0</td>, <td>\xa011/9/2015 09:50:08\xa0</td>, <td>\xa0Call States Notify - Line1: Incoming call from 06xxxxxxxx.\xa0</td>, <td>\xa011/9/2015 09:50:08\xa0</td>, <td align="center"><input align="middle" class="num-button2" type="submit" value="Effacer le journal">\n<input class="num-button2" onclick="window.location.reload();" type="button" value="Actualiser"/></input></td>]


 
 
Du coup il me faudrait un petit coup de main afin de ressortir uniquement les 10 chiffres du numéro de téléphone qui suit le termes "Phone#:"
 
 
Merci d'avance de votre aide !

mood
Publicité
Posté le 12-09-2015 à 23:30:55  profilanswer
 

n°2265848
Devil'sTig​er
Jee & Cee on the rock !
Posté le 14-09-2015 à 15:07:28  profilanswer
 

Go avec soupselect:
 
https://github.com/syabro/soupselect
 
https://code.google.com/p/soupselect/
 
Et quelques exemples:
 
http://jpython.blogspot.fr/2012/11 [...] ector.html
 
Avec ca tu devrais pouvoir facilement sélectionner ce qui t'intéresse, faire get_text dessus, et ensuite une regex pour extraire juste le numéro de téléphone ;)


---------------
JunZZi | Jee & Cee

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Python

  [Python] Aide BeautifulSoup

 

Sujets relatifs
[Python] Socket et interface réseauPython, supprimer une ligne d'un fichier texte
aide correction plsBesoin d'aide en C
aide programmationrécupération données tableau html avec python
Aide pour débutant ...besoin d'aide pour script PHP
Aide pour mise en ligne site Prestashop 1.5 : Page blancheDemande aide graphisme 2D
Plus de sujets relatifs à : [Python] Aide BeautifulSoup


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR