find à l'envers en Python ?

find à l'envers en Python ? - Python - Programmation

Marsh Posté le 13-09-2016 à 14:59:39    

Je fais un find pour trouver une extension d'image, en l'occurence .jpg
<a href="http://www.truc.com/cfs-file.ashx/components-files/4807.demo.jpg
 
Maintenant le soucis je veux extraire l'adresse de l'image.
 
Si j'ai un http je fais un nouveau find ("http" ) et j'aurai
http://www.truc.com/cfs-file.ashx/components-files/4807.demo.jpg
Là c'est facile
Seulement bien souvent je dois extraire la racine du site pour l'ajouter à l'adresse comme dans ce cas
<a href="/cfs-file.ashx/components-files/4807.demo.jpg
 
Donc comme je me repère sur le .jpg (ou autre) disons sur l'extension qui est en FIN de chaine, je voudrais remonter la chaine en arrière jusqu'à trouver CHR(34) autrement dit guillemet ouvrant
<a href="/cfs-file.ashx/components-files/4807.demo.jpg
 
Une idée à me proposer ?


---------------
http://www.ypikay.com
Reply

Marsh Posté le 13-09-2016 à 14:59:39   

Reply

Marsh Posté le 13-09-2016 à 18:59:58    

Une idée, sans doute regarder du côté html.parser combiné avec urllib.parse.
 
Ou alors utiliser le module re si t'as envie de t'amuser :D
Mais la solution précédente est la meilleure.
 
Sinon simplement pour l'extension :
 

Code :
  1. >>> extension = a.split('.')[-1]
  2. >>> extension
  3. 'jpg'


 
Avec re :
 

Code :
  1. >>> import re
  2. >>> a = '<a href="/cfs-file.ashx/components-files/4807.demo.jpg'
  3. >>> extension = re.search('.+\.([^\.]+)$', a).group(1)
  4. >>> extension
  5. 'jpg'



---------------
On croit souvent avoir vu le fond de la stupidité humaine, et il parfois nécessaire qu'on vous rappelle qu'elle n'a pas de fond.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed