[ script crawler ] problema col download delle immagini


#1

Un saluto a tutta la lista,
e’ la prima volta che decido di scrivere anche se vi seguo da un po’
tramite gli archivi.

Ad ogni modo veniamo al problema:
Sono appassionato di manga e cosi’ anche di hentai, cosi’ ho scritto uno
script che faccia da crawler e possa scaricarmi automaticamente le
immagini
da uno dei miei siti preferiti.
Lo script si chiama luscious_crawler.rb e potete trovarlo all’indirizzo
http://red-eyes.gnumerica.org/ruby/luscious_crawler.rb
Per far si che funzioni dovete passargli l’url della prima immagine del
manga, per esempio:

~ $ ruby luscious_crawler.rb
http://lu.scio.us/hentai/albums/100-yen-book-2/1889311

A questo punto lo script crea una cartella chiamata come l’album, vi
entra
e scarica le immagini per voi.
Il problema pero’ e’ che mi crea l’immagine ma essa e’ composta di 0
bytes,
io penso che il problema stia nel metodo File.write(resp.body) in
particolare in .body .
Pero’ non ne son sicuro e attualmente non conosco un metodo alternativo
per
scaricare immagini. Ho cercato di fare un po’ di debugging e ogni
variabile
ha il giusto valore che dovrebbe avere, tranne resp.body che non riesco
a
verificarlo ecco perche’ ho questo dubbio.

La cosa strana e’ che precedentemente avevo un altro script con cui
scaricavo immagini da questo sito, quando poi il sito e’ stato
aggiornato
lo script precedente non funzionava piu’ per varie ragioni, cosi ho
deciso
di riscriverlo in modo da aggiungervi anche alcuni miglioramenti. La
funzione di scaricamento delle immagini e’ rimasta la stessa per quanto
riguarda i metodi utilizzati e prima funzionavano e ora purtroppo no.

Spero che qualcuno piu’ esperto riesca a darmi un consiglio.

Inoltre spero che una volta corretto possa essere utile anche a qualche
altro appassionato come me.

Vi ringrazio dell’attenzione.

Red-Eyes


#2

Il 23 ottobre 2008 14.33, removed_email_address@domain.invalid ha scritto:

Il problema pero’ e’ che mi crea l’immagine ma essa e’ composta di 0 bytes,
io penso che il problema stia nel metodo File.write(resp.body) in
particolare in .body .
Pero’ non ne son sicuro e attualmente non conosco un metodo alternativo per
scaricare immagini. Ho cercato di fare un po’ di debugging e ogni variabile
ha il giusto valore che dovrebbe avere, tranne resp.body che non riesco a
verificarlo ecco perche’ ho questo dubbio.

la parte di codice in questione è
File.open( @current_page.to_s + ‘.jpg’ , “wb” ) do |file|
File.write(resp.body)
File.close()
end

mentre dovrebbe essere
File.open( @current_page.to_s + ‘.jpg’ , “wb” ) do |file|
file.write(resp.body)
end

(il write va invocato sulla variabile file, non sulla classe File :slight_smile: )

per evitare confusione però ti consiglierei di scriverlo
così:File.open( @current_page.to_s + ‘.jpg’ , “wb” ) do |f|
f.write(resp.body)
end

ciao,
stefano

Per favore non mandate allegati in Word o PowerPoint.
Si veda http://www.fsf.org/philosophy/no-word-attachments.html


#3

On Thu, 23 Oct 2008 15:42:48 +0200, “Stefano S.” removed_email_address@domain.invalid
wrote:

ciao,
stefano

Ti ringrazio moltissimo della correzione Stefano :slight_smile:

Nonostante fosse un errore cosi’ grossolano ci ho sbattuto la testa un
infinita’ di volte senza accorgermene :expressionless: .

Red-Eyes