-2

誰か持っていますか?Comicdownloaderを試しましたが、最新のコミックをダウンロードすることしかできず、Pythonを十分に理解していないため、すべてのコミックをダウンロードするように変更する方法がわかりません。

4

3 に答える 3

4

まあ、それはpythonではなく、メソッドもあまりエレガントではありませんが、うまくいきます.

ctrl+alt+del アーカイブ サイトを簡単に調べたところ、すべてのコミックが jpg ファイルとして /comics/ に保存されていることがわかりました。

その前提で、*nix マシンのシェルで次のコマンドを実行すると、すべてのコミックがダウンロードされます。ファイル名は明らかに YYYYMMDD 形式の日付です。

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

ああ、それには時間がかかるかもしれません : )。

于 2009-07-25T22:23:55.990 に答える
2

さて、いくつかのアプローチがあります。コミック画像自体の URL を見て、それらがパターンに従っているかどうかを確認し、パターンに一致する URL を生成する小さなスクリプトを記述し、単純に wget などを使用してそれらをダウンロードすることができます。必要な python を学習するには、python チュートリアルをお勧めします。文字列の組み合わせ、文字列の書式設定、文字列操作の方法を具体的に調べて、構成要素の文字列や数字などから URL を作成できるようにします。この種のプロジェクトは、Python を学ぶための良い口実になるかもしれません。これは、将来、他のことにも役立つでしょう。(そして楽しいです!)

または、人々は以前にこれを行ったことがあると思います-画像のURLまたは単にURLのパターンが与えられた場合、あなたが望むことを行うアプリがほぼ確実にそこにあります. 周りを見てください。

コミックの作者に手紙を書いて、何らかの方法で大量に入手できるかどうか、購入できるかどうか、本として入手できるかどうかを尋ねることができます. ctrl-alt-del は、アーカイブ全体をダウンロードするという追加の負荷を単純に吸収するのに十分なほど人気が​​あると思いますが、小規模な Web サイトはそれを評価しないかもしれません。

あなたの質問に関して言えば、このサイトはあなたのプログラミングに関する質問を解決し、あなたが抱えている問題を解決し、道を突き進む手助けをしてくれるはずです。Python を学び、自分で試してみてください。問題が発生した場合は、質問してください。

于 2009-07-25T22:39:24.307 に答える
0

私は変更されたユーザー エージェント (Timmy がオリジナルをブロックしたため) と BeautifulSoup で urllib を使用します。とにかく、日付ジェネレーターは次のとおりです。

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)

と私の main(): このように見えます (「ファイルが存在するかどうかを確認する」部分を取り出しました)

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()」は次のようになります。

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'
于 2011-01-18T01:17:01.243 に答える