#1 Le 05/11/2011, à 11:04
- Ferod
[Script] Récupérer les photos+légendes de certains Photo blogs
Je ne sais pas si certains suivent des photos blogs comme http://blogs.sacbee.com/photos/ ou http://www.boston.com/bigpicture/.
Pour ces deux blogs je me suis fait un script qui télécharge les images et les légendes associées et qui ajoute les légendes à chaque photos avec imagemagick. La légende est ajouté en blanc sur fond noir.
Par exemple pour récupérer les image de http://www.boston.com/bigpicture/2011/1 … s_thi.html taper :
./getImage http://www.boston.com/bigpicture/2011/1 … s_thi.html REPERTOIRE
Améliorations apportées :
- Modification des "useless use of cat"
- Utilisation de l'option p de la commande mkdir
- Ajout de guillemet pour la variable repertoire si jamais il y a des espaces. Toutes les autres variables ne comportent pas d'espace.
- modification de l'incrémentation des variables avec la syntaxe count=$((count+1)) bcp plus simple à retenir
- modification des test de longueur des légendes.
- création de la fonction conversion pour alléger la fin du script
#!/bin/bash
#
# Ce script permet de récupérer les images du blog The Frame et Big Picture ainsi que les légendes.
# Le tag des images se fait avec imagemagick.
# L'adresse des images est dans le fichier liste_images et la liste des légendes est dans legendes.
# Si ces deux fichiers n'ont pas le même nombre de ligne aucun tag n'est appliqué.
# Si ça se produit, corriger le fichier légende en ajoutant celle(s) qui manque(nt) puis relancer
# le script avec l'option -l. Cela permet de relancer l'ajout de légende sans télécharger les images
# et modifier les fichier legendes et liste_images.
#
#
# Utilisation : ./getImageTheFrame http://blogs.sacbee.com/...html REPERTOIRE [-l]
#
#
#
conversion() {
if [[ -n "$1" ]] ; then
echo -n "$1" | convert "$2" -background black -fill white -pointsize 14 label:@- -gravity West -append temp.jpg
mv temp.jpg "$2"
fi
}
#creation du répertoire si il n'existe pas.
http=$1
site=`echo $1 | cut -d/ -f1-3`
if [ $site = "http://blogs.sacbee.com" ] ; then
repertoire="/media/documents/images/Blogs/TheFrame/"$2
elif [ $site = "http://www.boston.com" ] ; then
repertoire="/media/documents/images/Blogs/Boston.com/"$2
fi
#si le répertoire n'existe pas on le créé.
mkdir -p "$repertoire"
cd "$repertoire"
if [ -z $3 ] ; then
echo "Téléchargement de la page..."
wget -nv $http -O Fichier_initial.html
site=`echo $1 | cut -d/ -f1-3`
if [ $site = "http://blogs.sacbee.com" ] ; then
#recherche des adresses des images et des légendes dans le fichier téléchargé
grep "src=\"http://media.sacbee.com/static" Fichier_initial.html | sed -e 's/http/\nhttp/g' | sed -e '/\.jpg/!d' | cut -d\" -f1 | sed -e '/#more/d' -e '/<img alt=/d' > liste_images
grep "10px;\">" Fichier_initial.html | sed -e 's/<div style=\"background: rgb(224, 224, 224); width: 970px; padding: 10px;\">//g' -e 's/^ //' > temp
sed -e 's/<b>//g' -e 's/<\/b>//g' temp > legendes
rm temp
elif [ $site = "http://www.boston.com" ] ; then
#recherche des adresses des images et des légendes dans le fichier téléchargé
sed -e 's/<img src=/\n/g' Fichier_initial.html | grep "^\"http://inapcache" > fichierTemp
cut -d\" -f2 fichierTemp > liste_images
# on obtient un fichier où les commentaires sont sur une ligne...
sed -e 's/</\n/g' -e 's/>/\n/g' fichierTemp | sed -e '/inapcache/d' -e '/=/d' -e '/...................................../!d' > legendes
rm fichierTemp
else
echo "L'adresse fournie ne convient pas. Abandon."
exit 0
fi
#Téléchargement des images
count=0
for line in `cat liste_images` ; do
count=$((count+1))
if [ $site = "http://blogs.sacbee.com" ] ; then
FileName=`sed -n $((count))p liste_images | cut -d/ -f11`
elif [ $site = "http://www.boston.com" ] ; then
FileName=`sed -n $((count))p liste_images | cut -d/ -f9`
fi
echo "téléchargement de l'image "$FileName
wget -q $line
done
fi
#avant d'appliquer les légendes on vérifie qu'il y a autant d'image que de ligne dans le fichier légende
nbImage=`cat liste_images | wc -l`
nbLegende=`cat legendes | wc -l`
if [ $nbImage -ne $nbLegende ] ; then
echo "Nombre d'image différent du nombre de légende. Abandon"
exit 0
fi
compteur=0
while read ligne ; do
compteur=$((compteur+1))
if [ $site = "http://blogs.sacbee.com" ] ; then
nomFichier=`sed -n $((compteur))p liste_images | cut -d/ -f11`
elif [ $site = "http://www.boston.com" ] ; then
nomFichier=`sed -n $((compteur))p liste_images | cut -d/ -f9`
fi
echo "Ajout de la légende sur "$nomFichier
text1=`echo $ligne | cut -d" " -f1-20`
text2=`echo $ligne | cut -d" " -f21-40`
text3=`echo $ligne | cut -d" " -f41-60`
text4=`echo $ligne | cut -d" " -f61-80`
text5=`echo $ligne | cut -d" " -f81-100`
text6=`echo $ligne | cut -d" " -f101-120`
text7=`echo $ligne | cut -d" " -f121-140`
text8=`echo $ligne | cut -d" " -f141-160`
text9=`echo $ligne | cut -d" " -f161-180`
text10=`echo $ligne | cut -d" " -f181-200`
conversion "$text1" "$nomFichier"
conversion "$text2" "$nomFichier"
conversion "$text3" "$nomFichier"
conversion "$text4" "$nomFichier"
conversion "$text5" "$nomFichier"
conversion "$text6" "$nomFichier"
conversion "$text7" "$nomFichier"
conversion "$text8" "$nomFichier"
conversion "$text9" "$nomFichier"
conversion "$text10" "$nomFichier"
done < legendes
Dernière modification par Ferod (Le 05/11/2011, à 15:14)
"When I was in the military, they gave me a medal for killing
two men, and a descharge for loving one !" Leonard Matlovich
Hors ligne
#2 Le 05/11/2011, à 11:29
- sputnick
Re : [Script] Récupérer les photos+légendes de certains Photo blogs
Superbe photos, mais ton code, ça fait peur, excuse moi d'être direct.
Y'a tellement de choses qui vont pas que ça serait trop long à expliquer, mais le plus important c'est qu'il existe des librairies pour parser du HTML proprement, avec Xpath par exemple. Faire ça à coup de cat | sed | grep | tr c'est caca.
Et puis un nombre de useless cat | grep au mètre carré, j'ai rarement vu ça http://partmaps.org/era/unix/award.html
Enfin, si ton code fonctionne en l'état, tant mieux, mais ça risque de ne pas durer longtemps : tout ça me parait peu fiable.
Dernière chose, quitte à utiliser un shebang bash, autant utiliser les tests [[ ]] qui sont bien plus puissants.
Il existe un tunnel obscur dans la lumière infinie. Lao-Tseu
https://sputnick.fr
Hors ligne
#3 Le 05/11/2011, à 14:02
- Ferod
Re : [Script] Récupérer les photos+légendes de certains Photo blogs
Merci pour les commentaires et ta franchise. C'est aussi ce que j'attendais pour améliorer mon script qui je le sais est loin d'être optimal. En même temps c'est un peu mon premier script...
je vais me renseigner sur l'utilisation de xpath.
Sinon j'ai fusionné les scripts en un seul. Je vais mettre le premier message à jour.
"When I was in the military, they gave me a medal for killing
two men, and a descharge for loving one !" Leonard Matlovich
Hors ligne
#4 Le 05/11/2011, à 14:31
- AnsuzPeorth
Re : [Script] Récupérer les photos+légendes de certains Photo blogs
Bjr,
Xpath avec un site html ... Faut qu'il soit bien codé !
Sinon, chaque site propose un flux rss, donc en xml, exploitable par xpath sans trop de soucis je pense.
Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script (Hors ligne)
Hors ligne
#5 Le 05/11/2011, à 14:48
- pingouinux
Re : [Script] Récupérer les photos+légendes de certains Photo blogs
Bonjour,
Quelques remarques sur ton script, en vrac :
Il est préférable de mettre des guillemets autour des variables (et de $1, $2,...) qui représentent des noms de fichiers (à cause des espaces qui peuvent y figurer).
if [ ! -e $repertoire ] ; then mkdir $repertoire fi
peut être remplacé par
mkdir -p "$repertoire"
cat fichier | sed ....
peut être remplacé par
sed .... fichier
C'est aussi valable pour d'autres commandes.
count=`expr $count + 1`
peut être remplacé par
count=$((count+1))
if [ "${#text1}" -gt "0" ] ; then
peut être remplacé par
if [[ -n "$text1" ]]; then
Tu peux écrire une fonction pour simplifier les séquences identiques (à placer vers le début du script) :
conversion() { if [[ -n "$1" ]] ; then echo -n "$1" | convert "$2" -background black -fill white -pointsize 14 label:@- -gravity West -append temp.jpg mv temp.jpg "$2" fi }
Ensuite
if [ "${#text1}" -gt "0" ] ; then echo -n $text1 | convert $nomFichier -background black -fill white -pointsize 14 label:@- -gravity West -append temp.jpg mv temp.jpg $nomFichier fi
est remplacé par
conversion "$text1" "$nomFichier"
Dernière modification par pingouinux (Le 05/11/2011, à 15:04)
Hors ligne
#6 Le 05/11/2011, à 15:17
- Ferod
Re : [Script] Récupérer les photos+légendes de certains Photo blogs
@pingouinux : merci pour ton aide j'ai pris en compte tes remarques.
@AnsuzPeorth : J'ai trouvé le flux rss mais je ne vois toujours pas comment l'utiliser...
"When I was in the military, they gave me a medal for killing
two men, and a descharge for loving one !" Leonard Matlovich
Hors ligne
#7 Le 05/11/2011, à 15:36
- sputnick
Re : [Script] Récupérer les photos+légendes de certains Photo blogs
Bash est pas le meilleur outil pour parser des pages. Le mieux c'est quand même Perl, Python, Ruby, ils ont tous des modules très puissants pour ça.
Le problème c'est que le RSS est foutu bizzard si il s'agit bien de http://www.sacbee.com/static/weblogs/photos/atom.xml
Pour les titres ou les summary, c'est facile :
$ xpath atom.xml "//entry/title"
Found 15 nodes:
-- NODE --
<title>Occupy protesters disavow Oakland violence</title>-- NODE --
<title>United Nations marks 7 billionth baby</title>-- NODE --
<title>Snow smacks Northeast; power could be out for days</title>-- NODE --
<title>Floods inch closer to heart of Thailand's capital</title>-- NODE --
<title>Hindus observe 'festival of lights'</title>-- NODE --
<title>Five quake survivors saved from rubble in Turkey</title>-- NODE --
<title>Libya's Moammar Gadhafi killed in hometown battle</title>-- NODE --
<title>Violence erupts as two-day strike shuts down Greece</title>-- NODE --
<title>Bangkok governor issues urgent call for sandbags</title>-- NODE --
<title>King of Bhutan marries in elaborate ceremony</title>-- NODE --
<title>Economic protests continue throughout the U.S.</title>-- NODE --
<title>Moments of daily life around the world</title>-- NODE --
<title>Millions mourn genius Steve Jobs</title>-- NODE --
<title>Hindus honor the Mother Goddess</title>-- NODE --
<title>Wall Street protesters show no signs of giving up their campaign</title>
Mais isoler les images et les commentaires ça a l'air tordu
Il existe un tunnel obscur dans la lumière infinie. Lao-Tseu
https://sputnick.fr
Hors ligne
#8 Le 05/11/2011, à 17:19
- sputnick
Re : [Script] Récupérer les photos+légendes de certains Photo blogs
Voici un script python qui fait la blague pour le premier site, on place les images dans /tmp (modifier selon ses souhaits)
#!/usr/bin/env python2
# -*- coding: utf8 -*-
# vim:ts=4:sw=4
# http://www.crummy.com/software/BeautifulSoup/documentation.html
# http://docs.python.org/library/urllib2.html
temoin = False
import cookielib, urllib2, os
from lxml import etree
cj = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
page = opener.open("http://blogs.sacbee.com/photos/")
page.addheaders = [('User-agent', 'Mozilla/5.0')]
def wrap(text, width):
"""
A word-wrap function that preserves existing line breaks
and most spaces in the text. Expects that existing line
breaks are posix newlines (\n).
"""
return reduce(lambda line, word, width=width: '%s%s%s' %
(line,
' \n'[(len(line)-line.rfind('\n')-1
+ len(word.split('\n',1)[0]
) >= width)],
word),
text.split(' ')
)
reddit = etree.HTML(page.read())
for node in reddit.xpath('//div[contains(@style, "background: rgb")]'):
if temoin == True:
desc = wrap(" " + node.xpath('text()')[0], 130)
temp = "temp_" + image.split("/")[-1]
name = image.split("/")[-1]
myvar = (
"""
cd /tmp
wget "{image}"
convert "{name}" -background black -fill white -pointsize 14 label:@- -gravity West -append "{temp}" <<< "{desc}"
mv "{temp}" "{name}"
"""
).format(image=image, name=name, temp=temp, desc=desc)
os.system(myvar)
cur = node.xpath('.//img/@src')
if "/weblogs/photos/images" in str(cur):
image = str(cur[0])
temoin = True
continue
temoin = False
Il existe un tunnel obscur dans la lumière infinie. Lao-Tseu
https://sputnick.fr
Hors ligne
#9 Le 05/11/2011, à 17:30
- Ferod
Re : [Script] Récupérer les photos+légendes de certains Photo blogs
Bash est pas le meilleur outil pour parser des pages. Le mieux c'est quand même Perl, Python, Ruby, ils ont tous des modules très puissants pour ça.
Le problème c'est que le RSS est foutu bizzard si il s'agit bien de http://www.sacbee.com/static/weblogs/photos/atom.xml
Pour les titres ou les summary, c'est facile :
J'ai pas la meme chose chez moi... J'ai fait
wget http://www.sacbee.com/static/weblogs/photos/atom.xml
mais la commande xpath atom.xml "//entry/title" me renvoi ça :
xpath atom.xml "//entry/title"
Usage:
/usr/bin/xpath [options] -e query [-e query...] [filename...]
If no filenams are given, supply XML on STDIN.
You must provide at least one query. Each supplementary
query is done in order, the previous query giving the
context of the next one.
Options:
-q quiet. Only output the resulting PATH
-s suffix use suffix instead of linefeed.
-p postfix use prefix instead of nothing.
Mais isoler les images et les commentaires ça a l'air tordu
Non non avec des grep cut sed on y arrive hein...
"When I was in the military, they gave me a medal for killing
two men, and a descharge for loving one !" Leonard Matlovich
Hors ligne
#10 Le 05/11/2011, à 17:38
- sputnick
Re : [Script] Récupérer les photos+légendes de certains Photo blogs
J'ai pas la meme chose chez moi... J'ai fait
Tu doit pas avoir la meme version que moi, mais l'aide t'affiche comment faire.
Non non avec des grep cut sed on y arrive hein...
Si tu veut faire les choses façon gruuuiiiik, oui.
T'a jeté un zieux au script que j'ai commis au dessus ?
Il existe un tunnel obscur dans la lumière infinie. Lao-Tseu
https://sputnick.fr
Hors ligne
#11 Le 05/11/2011, à 18:08
- AnsuzPeorth
Re : [Script] Récupérer les photos+légendes de certains Photo blogs
Bjr,
J'ai jamais utiliser xpath en bash, c'etait l'ocass
Sinon, c'est sur que python sera plus rapide. Bien que je n'y sois pas arrivé (lxml n'est pas par défaut, avec la lib xml, pas moyen, html (dans le xml) mal foutu !)
#!/bin/bash
wget http://www.sacbee.com/static/weblogs/photos/atom.xml -O ./sacbee.xml
n=1
while read
do
title=$(xpath -e "//entry[$n]/title/text()" ./sacbee.xml 2>/dev/null)
img=$(xpath -e "feed/entry[$n]/content" ./sacbee.xml 2>/dev/null | sed 's/</</g' | xpath -e 'content/div/a/img/@src' 2>/dev/null | cut -d '"' -f2)
echo $title '-' $img
((n++))
done < <(grep -n '<entry>' ./sacbee.xml)
Par contre, c'est assez long, en simple bash, ca serait bcp plus rapide !
Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script (Hors ligne)
Hors ligne
#12 Le 05/11/2011, à 18:26
- AnsuzPeorth
Re : [Script] Récupérer les photos+légendes de certains Photo blogs
Re,
Effectivement, c'est bcp plus rapide.
Vite fait en bash (en utilisant le html du site comme source, donc 10 images au lieux de15 via xml):
#!/bin/bash
while read line
do
[[ $line =~ '"asset-name entry-title title"' ]] && {
title=$(cut -d '>' -f3 <<< $line)
continue
}
[[ $line =~ 'weblogs/photos/images' ]] && {
[[ $line =~ 'jQuery' ]] && continue
img=$(sed 's@.*src="\([^"]*\).*@\1@' <<< $line )
echo
echo ${title%%<*} '-' $img
}
done < <(wget http://blogs.sacbee.com/photos/ -O-)
exit
Dernière modification par AnsuzPeorth (Le 05/11/2011, à 18:32)
Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script (Hors ligne)
Hors ligne
#13 Le 05/11/2011, à 22:40
- Ferod
Re : [Script] Récupérer les photos+légendes de certains Photo blogs
T'a jeté un zieux au script que j'ai commis au dessus ?
Oui j'ai regardé. Par contre je connais strictement rien au python. Donc je ne sais pas l'utiliser. En plus j'aimerai rester sur bash. ^^
@AnsuzPeorth : J'ai essayé d'executer tes deux script. D'après ce que j'ai vu tu te base sur le fichier xml. Le problème c'est que le fichier xml ne récupère que les premières photos et légendes de chaque séries. Or moi c'est la série entière que je souhaite récupérer.
Edit : Je viens de regarder d'un peu plus près et effectivement on obtient toutes les images et les légendes de chaque série. Par contre ils sont tous rassemblé dans un seul fichier et c'est à peu près la même "structure" que mon fichier html que j'obtiens. Donc après il faudrait que je vois si le xpath que tu utilise permet de ramener les images et les légendes.
D'après ce que j'ai compris quand tu mets ça ; xpath -e "feed/entry[$n]/content" ça te ramène tout ce qui est dans les balises <content></content> et qui est inclu dans la nième balises <entry> </entry> .
Par contre pour récupérer les légendes ou les images il faudrait que j'arrive à descendre jusqu'aux balises div. J'ai fait quelques test et j'ai pas beaucoup de résultats... En plus j'ai pas l'impression que ça soit des balises xml (elles sont en noir dans gédit). J'arrive à récupérer des donnés dans summary. Mais rien avec div.
"When I was in the military, they gave me a medal for killing
two men, and a descharge for loving one !" Leonard Matlovich
Hors ligne
#14 Le 06/11/2011, à 00:05
- sputnick
Re : [Script] Récupérer les photos+légendes de certains Photo blogs
Par contre je connais strictement rien au python. Donc je ne sais pas l'utiliser.
La meme chose qu'en bash :
gedit script.bash
chmod +x script.bash
./script.bash
Il existe un tunnel obscur dans la lumière infinie. Lao-Tseu
https://sputnick.fr
Hors ligne
#15 Le 06/11/2011, à 00:36
- AnsuzPeorth
Re : [Script] Récupérer les photos+légendes de certains Photo blogs
Je précise bien que je suis pro python, mais dans certaines circonstances, bash s'avère être plus simple, moins rapide, mais bon, on travaille pas pour la NASA
On pourrait utiliser le même algo en python, là on gagnerais déjà pas mal en vitesse, mais les import, urllib & co, c'est plus lourd qu'un wget et une simple boucle bash (AMHA).
Sinon, pour récup les images de la serie avec xpath:
xpath -e 'feed/entry[1]/content' ./sacbee.xml | sed 's/</</g' | xpath -e 'content/div/img/@src' | xargs -I% echo ____%
Mais ici, vu le nombre de requêtes qu'il faudra envoyer a xpath, le nombre de fois ou il devra charger le fichier, c'est pas rentable.
Donc un simple bash:
#!/bin/bash
Extract() {
var=${@#* }
var=${var#*>}
var=${var%<*}
echo $1: $var
}
Extract_img() {
v=$@
img=${v#*src=\"}
img=${img%%\"*}
echo img: $img
}
flag_entry=false
while read line
do
if $flag_entry; then
[[ $line =~ '<img ' ]] && Extract_img $line && continue
[[ $line =~ '<title>' ]] && echo && Extract 'title' $line && continue
[[ $line =~ '<summary>' ]] && Extract 'summary' $line && continue
fi
[[ $line =~ '<entry>' ]] && flag_entry=true
done < <(wget 2>/dev/null http://www.sacbee.com/static/weblogs/photos/atom.xml -O-)
exit
title: Millions mourn genius Steve Jobs
summary: BANGKOK (AP) -- From the titans of high technology to teenagers armed with iPads, millions of people around the world mourned digital-gadget genius Steve Jobs as a man whose wizardry transformed their lives in big ways and small. Google,...
img: http://media.sacbee.com/static/weblogs/photos/images/2011/oct11/steve_jobs_react_sm/jobs_reaction_01.jpg
img: http://media.sacbee.com/static/weblogs/photos/images/2011/oct11/steve_jobs_react_sm/jobs_reaction_02.jpg
img: http://media.sacbee.com/static/weblogs/photos/images/2011/oct11/steve_jobs_react_sm/jobs_reaction_03.jpg
img: http://media.sacbee.com/static/weblogs/photos/images/2011/oct11/steve_jobs_react_sm/jobs_reaction_04.jpg
img: http://media.sacbee.com/static/weblogs/photos/images/2011/oct11/steve_jobs_react_sm/jobs_reaction_05.jpg
img: http://media.sacbee.com/static/weblogs/photos/images/2011/oct11/steve_jobs_react_sm/jobs_reaction_06.jpg
img: http://media.sacbee.com/static/weblogs/photos/images/2011/oct11/steve_jobs_react_sm/jobs_reaction_07.jpg
img: http://media.sacbee.com/static/weblogs/photos/images/2011/oct11/steve_jobs_react_sm/jobs_reaction_08.jpg
img: http://media.sacbee.com/static/weblogs/photos/images/2011/oct11/steve_jobs_react_sm/jobs_reaction_09.jpg
img: http://media.sacbee.com/static/weblogs/photos/images/2011/oct11/steve_jobs_react_sm/jobs_reaction_10.jpg
img: http://media.sacbee.com/static/weblogs/photos/images/2011/oct11/steve_jobs_react_sm/jobs_reaction_11.jpg
img: http://media.sacbee.com/static/weblogs/photos/images/2011/oct11/steve_jobs_react_sm/jobs_reaction_12.jpg
img: http://media.sacbee.com/static/weblogs/photos/images/2011/oct11/steve_jobs_react_sm/jobs_reaction_13.jpg
img: http://media.sacbee.com/static/weblogs/photos/images/2011/oct11/steve_jobs_react_sm/jobs_reaction_14.jpg
img: http://media.sacbee.com/static/weblogs/photos/images/2011/oct11/steve_jobs_react_sm/jobs_reaction_15.jpg
img: http://media.sacbee.com/static/weblogs/photos/images/2011/oct11/steve_jobs_react_sm/jobs_reaction_16.jpg
img: http://media.sacbee.com/static/weblogs/photos/images/2011/oct11/steve_jobs_react_sm/jobs_reaction_17.jpg
img: http://media.sacbee.com/static/weblogs/photos/images/2011/oct11/steve_jobs_react_sm/jobs_reaction_18.jpg
img: http://media.sacbee.com/static/weblogs/photos/images/2011/oct11/steve_jobs_react_sm/jobs_reaction_19.jpg
img: http://media.sacbee.com/static/weblogs/photos/images/2011/oct11/steve_jobs_react_sm/jobs_reaction_20.jpg
img: http://media.sacbee.com/static/weblogs/photos/images/2011/oct11/steve_jobs_react_sm/jobs_reaction_21.jpg
img: http://media.sacbee.com/static/weblogs/photos/images/2011/oct11/steve_jobs_react_sm/jobs_reaction_22.jpg
img: http://media.sacbee.com/static/weblogs/photos/images/2011/oct11/steve_jobs_react_sm/jobs_reaction_23.jpg
img: http://media.sacbee.com/static/weblogs/photos/images/2011/oct11/steve_jobs_react_sm/jobs_reaction_24.jpg
img: http://media.sacbee.com/static/weblogs/photos/images/2011/oct11/steve_jobs_react_sm/jobs_reaction_25.jpg
img: http://media.sacbee.com/static/weblogs/photos/images/2011/oct11/steve_jobs_react_sm/jobs_reaction_26.jpg
img: http://media.sacbee.com/static/weblogs/photos/images/2011/oct11/steve_jobs_react_sm/jobs_reaction_27.jpg
img: http://media.sacbee.com/static/weblogs/photos/images/2011/oct11/steve_jobs_react_sm/jobs_reaction_28.jpg
img: http://media.sacbee.com/static/weblogs/photos/images/2011/oct11/steve_jobs_react_sm/jobs_reaction_29.jpg
img: http://media.sacbee.com/static/weblogs/photos/images/2011/oct11/steve_jobs_react_sm/jobs_reaction_30.jpg
title: Hindus honor the Mother Goddess
summary: Hindus are in the midst of fall festivals during September and October. According to About.com Guide, Subhamoy Das, "Every year during the lunar month of Ashwin or Kartik (September-October), Hindus observe ten days of ceremonies, rituals, fasts and feasts...
img: http://media.sacbee.com/static/weblogs/photos/images/2011/oct11/hindu_festival_sm/hindu_festival_01.jpg
img: http://media.sacbee.com/static/weblogs/photos/images/2011/oct11/hindu_festival_sm/hindu_festival_02.jpg
img: http://media.sacbee.com/static/weblogs/photos/images/2011/oct11/hindu_festival_sm/hindu_festival_03.jpg
img: http://media.sacbee.com/static/weblogs/photos/images/2011/oct11/hindu_festival_sm/hindu_festival_04.jpg
img: http://media.sacbee.com/static/weblogs/photos/images/2011/oct11/hindu_festival_sm/hindu_festival_05.jpg
img: http://media.sacbee.com/static/weblogs/photos/images/2011/oct11/hindu_festival_sm/hindu_festival_06.jpg
img: http://media.sacbee.com/static/weblogs/photos/images/2011/oct11/hindu_festival_sm/hindu_festival_07.jpg
img: http://media.sacbee.com/static/weblogs/photos/images/2011/oct11/hindu_festival_sm/hindu_festival_08.jpg
img: http://media.sacbee.com/static/weblogs/photos/images/2011/oct11/hindu_festival_sm/hindu_festival_09.jpg
EDIT: Suppression de sed, fullbash now, sauf wget, bien sur ...
Dernière modification par AnsuzPeorth (Le 06/11/2011, à 00:56)
Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script (Hors ligne)
Hors ligne
#16 Le 06/11/2011, à 10:50
- Ferod
Re : [Script] Récupérer les photos+légendes de certains Photo blogs
Merci pour toutes ces suggestions je vais potasser tout ça.
"When I was in the military, they gave me a medal for killing
two men, and a descharge for loving one !" Leonard Matlovich
Hors ligne
#17 Le 07/11/2011, à 03:59
- sputnick
Re : [Script] Récupérer les photos+légendes de certains Photo blogs
Mon script python fait aussi le traitement des images avec imagemagick, donc si vous testez le temps requis, n'oubliez pas ce paramètre
Il existe un tunnel obscur dans la lumière infinie. Lao-Tseu
https://sputnick.fr
Hors ligne
#18 Le 07/11/2011, à 15:43
- AnsuzPeorth
Re : [Script] Récupérer les photos+légendes de certains Photo blogs
Mon script python fait aussi le traitement des images avec imagemagick,
Tu aurais pu utiliser PIL d'ailleurs
donc si vous testez le temps requis, n'oubliez pas ce paramètre
De toute, python sera tjrs plus rapide que bash, quoiqu'il en soit (surtout que le xml fait ~5000 lignes).
J'avais juste donné une solution en fullbash, qui dans cette exemple, est peut être plus simple que python (surtout si on fait appelle a imagemagick via un os.system() )
Une petite remarque, avec mes peu de connaissances en python ...
.format(image=image, name=name, temp=temp, desc=desc)
aurait pu s'ecrire:
.format(locals())
Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script (Hors ligne)
Hors ligne
#19 Le 07/11/2011, à 16:02
- sputnick
Re : [Script] Récupérer les photos+légendes de certains Photo blogs
Une petite remarque, avec mes peu de connaissances en python ...
.format(image=image, name=name, temp=temp, desc=desc)
aurait pu s'ecrire:
.format(locals())
Merci, tu fait bien de me le dire, je débute en python.
Il existe un tunnel obscur dans la lumière infinie. Lao-Tseu
https://sputnick.fr
Hors ligne
#20 Le 07/11/2011, à 16:15
- sputnick
Re : [Script] Récupérer les photos+légendes de certains Photo blogs
Il existe un tunnel obscur dans la lumière infinie. Lao-Tseu
https://sputnick.fr
Hors ligne
#21 Le 07/11/2011, à 16:19
- AnsuzPeorth
Re : [Script] Récupérer les photos+légendes de certains Photo blogs
OUpss, désolé, j'utilise rarement cette forme ...J'étais pas loin :d (mémoire de poisson rouge, pas facile en programmation ..)
EDIT:
Suivant ton lien, tu étais dans le vrai:
Compare this to the "explicit is better than implicit" alternative...:
blah.format(name=name)
Mais bon, comme on fait appel {variable}, je trouve assez explicite !
Dernière modification par AnsuzPeorth (Le 07/11/2011, à 16:24)
Interface graphique pour bash, python ou autre: glade2script
Support Tchat: http://chat.jabberfr.org/muckl_int/inde … ade2script (Hors ligne)
Hors ligne