Frage

Hat jemand einen? Ich habe Comicdownloader ausprobiert, aber das lässt mich nur den neuesten Comic herunterladen und ich verstehe Python nicht gut genug, um herauszufinden, wie ich ihn ändern kann, um alle Comics herunterzuladen

War es hilfreich?

Lösung

Nun, es ist nicht Python und die Methode ist auch nicht sehr elegant, aber es wird funktionieren.

Nach einer kurzen Prüfung der Strg+Alt+Del Archive Site Ich habe festgestellt, dass alle Comics in / Comics / als JPG -Dateien gespeichert sind.

Mit dieser Annahme wird der folgende Befehl in einer Shell auf einem *Nix -Computer ausgeführt, alle Comics. Die Dateinamen sind offensichtlich Daten im Format Yyyymmdd.

$ for filename in $(seq 20020101 20090726); do wget http://www.ctrlaltdel-online.com/comics/"$filename".jpg; done

Oh, und es kann eine Weile dauern :).

Andere Tipps

Nun, es gibt mehrere Ansätze. Sie können sich die URLs der Comic -Bilder selbst ansehen, um zu sehen, ob sie einem Muster folgen, ein kleines Skript schreiben, um URLs zu generieren, die dem Muster entsprechen, und einfach WGet oder ähnliches zu verwenden, um sie herunterzuladen. Um das erforderliche Python zu lernen, empfehle ich das Python Tutorial. Schauen Sie sich speziell nach dem Kombinieren von Strings, String -Formatierung, Stringoperationen an, sodass Sie Ihre URLs aus Komponentenzeichenfolgen, Zahlen usw. erstellen können. Diese Art von Projekt ist möglicherweise eine gute Ausrede, um Python zu lernen, was Ihnen wahrscheinlich in Zukunft bei anderen Dingen helfen wird. (Und macht Spaß!)

Alternativ stelle ich mir vor, dass die Leute dies schon einmal getan haben - es gibt mit ziemlicher Sicherheit Apps, die das tun, was Sie wollen, angesichts der URLs der Bilder oder nur dem Muster der URLs. Schau dich um.

Sie könnten dem Autor des Comics schreiben und fragen, ob er irgendwie in großen Mengen erhältlich ist, möglicherweise zum Kauf, vielleicht als Buch. Ich kann mir vorstellen, dass Strg-Alt-Del beliebt genug ist, um einfach die zusätzliche Ladung von Ihnen zu absorbieren, die das gesamte Archiv herunterladen, aber kleinere Websites schätzen es möglicherweise nicht-obwohl ich nicht glaube, dass sie Sie wirklich aufhalten können oder irgendetwas.

Was Ihre Frage betrifft, sollte diese Website Ihnen bei Ihren Programmierfragen helfen, Ihnen bei Problemen helfen, die Sie haben, und schälen Sie auf dem Weg - aber meistens schätzen die Leute es nicht, wenn Sie sie bitten, Ihren Code nur für Sie zu schreiben. Lernen Sie etwas Python, probieren Sie es selbst aus, wenn Sie auf Probleme stoßen, fragen Sie dann.

Ich benutze Urllib mit einem modifizierten Benutzeragent (da Timmy das Original blockiert hat) und BeautifulSoup. Wie auch immer, hier ist der Date -Generator:

t1 = datetime.date(2002, 10, 22)
t2 = datetime.date.today()
while t2 > t1:
    t1 = t1 + datetime.date.resolution
    toon = t1.strftime("%Y%m%d")
    url1 = str(toon)
    main(url1)

und mein main (): Sieht so aus (habe die "Überprüfung der Datei vorhanden" teilgenommen)

def main(url):
    con = httplib.HTTPConnection("www.cad-comic.com")
    con.request("GET", "/cad/" + url)
    r1 = con.getresponse()
    soup = BeautifulSoup(r1)
    img = soup.findAll("img")[1]
    nImg = str(img)
    imgSplit = re.split('"', nImg)
    imgUrl = imgSplit[1]
    if imgUrl.startswith('http://www.cad-comic.com/comics/'):
        MeOpans().retrieve(imgUrl, url + ".jpg")
        print "Downloaded " + url

"Meopans ()" sieht so aus:

class MeOpans(urllib.URLopener):
    version = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11'
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top