2009-05-26 9 views
5

sulla mia macchina Windows locale, come faccio a scrivere uno script per scaricare una striscia a fumetti ogni giorno e inviarlo per email a me stesso?sulla mia macchina Windows locale, come faccio a scrivere uno script per scaricare una striscia a fumetti ogni giorno e inviarlo per email a me stesso?

come
http://comics.com/peanuts/

Aggiornamento: io so come scaricare l'immagine come file. la parte difficile è come inviarlo via email dalla mia macchina Windows locale.

risposta

1

Invia e-mail è facile. Scegli una biblioteca nella tua lingua preferita e leggi la documentazione.Invialo tramite il tuo normale account di posta elettronica o crea un nuovo account GMail gratuito.

volte allegati possono infatti essere difficile, però. Se non altro, dargli un buon vortice con qualunque libreria ti piaccia di più, e pubblica un'altra domanda specifica su qualsiasi problema tu incontri.

3

Un rapido sguardo su google rivela due programmi da riga di comando che dovrebbero essere in grado di collegarsi in un file batch o utilizzare il linguaggio di scripting di propria scelta.

http://www.gnu.org/software/wget/ - per fare il download

http://www.beyondlogic.org/solutions/cmdlinemail/cmdlinemail.htm - per inviare l'e-mail

È possibile utilizzare la pianificazione di Windows nel pannello di controllo per farlo funzionare tutti i giorni.

Se si utilizza Python ci saranno sicuramente librerie convenienti per eseguire il download/invio di parti di e-mail - sfogliare il sito ufficiale di Python.

1

Questa è forse la distanza più breve dal tuo obiettivo.

Non è semplice ... sarà necessario capire come analizzare l'immagine e l'esempio di arachidi sembra essere un URI imprevedibile, quindi potrebbe essere più difficile di quello che sembra ottenere l'immagine stessa. La soluzione migliore sarà leggere l'HTML della pagina Web remota, scrivere una espressione regolare per analizzare l'URL dell'immagine. Poi la funzione posta funzionerà bene, inviare una e-mail HTML impostando le intestazioni nella funzione mail() a qualcosa di simile:

$headers = "MIME-Version: 1.0\r\n"; 
$headers .= "Content-type: text/html;"; 
$headers .= " charset=iso-8859-1\r\n"; 

con i tag di immagine per posta. Questo ti permetterà di ricevere e-mail con tutti i tuoi fumetti posizionati uno dopo l'altro. Il tuo software di posta elettronica farà le richieste HTTP a scarica le immagini per te, così puoi evitare di dover allegare direttamente le immagini.

8

Questo dipende dalla precisione che si desidera essere. Scaricare l'intera pagina Web non sarebbe troppo impegnativo, utilizzando wget, come descritto da Earwicker.

Se si desidera scaricare il file di immagine effettivo del fumetto, è necessario un po 'di più nel proprio arsenale. In Python - perché è quello che so meglio - immagino che avresti bisogno di usare urllib per accedere alla pagina, e quindi un'espressione regolare per identificare la parte corretta della pagina. Pertanto è necessario conoscere il layout esatto della pagina e l'URL assoluto dell'immagine.

Per XKCD, per esempio, i seguenti lavori:

#!/usr/bin/env python 

import re, urllib 

root_url = 'http://xkcd.com/' 
img_url = r'http://imgs.xkcd.com/comics/' 

dl_dir = '/path/to/download/directory/' 

# Open the page URL and identify comic image URL 
page = urllib.urlopen(root_url).read() 
comic = re.match(r'%s[\w]+?\.(png|jpg)' % img_url, page) 

# Generate the filename 
fname = re.sub(img_url, '', comic) 

# Download the image to the specified download directory 
try: 
    image = urllib.urlretrieve(comic, '%s%s' % (dl_dir, fname)) 
except ContentTooShortError: 
    print 'Download interrupted.' 
else: 
    print 'Download successful.' 

È quindi possibile inviarlo via email comunque stare tranquillo.

+0

Credo che la parte di puzzle è la parte e-mail –

2

Configurare il feedburner sul feed RSS, iscriversi agli avvisi e-mail?