誰か持っていますか?Comicdownloaderを試しましたが、最新のコミックをダウンロードすることしかできず、Pythonを十分に理解していないため、すべてのコミックをダウンロードするように変更する方法がわかりません。
3 に答える
まあ、それは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
ああ、それには時間がかかるかもしれません : )。
さて、いくつかのアプローチがあります。コミック画像自体の URL を見て、それらがパターンに従っているかどうかを確認し、パターンに一致する URL を生成する小さなスクリプトを記述し、単純に wget などを使用してそれらをダウンロードすることができます。必要な python を学習するには、python チュートリアルをお勧めします。文字列の組み合わせ、文字列の書式設定、文字列操作の方法を具体的に調べて、構成要素の文字列や数字などから URL を作成できるようにします。この種のプロジェクトは、Python を学ぶための良い口実になるかもしれません。これは、将来、他のことにも役立つでしょう。(そして楽しいです!)
または、人々は以前にこれを行ったことがあると思います-画像のURLまたは単にURLのパターンが与えられた場合、あなたが望むことを行うアプリがほぼ確実にそこにあります. 周りを見てください。
コミックの作者に手紙を書いて、何らかの方法で大量に入手できるかどうか、購入できるかどうか、本として入手できるかどうかを尋ねることができます. ctrl-alt-del は、アーカイブ全体をダウンロードするという追加の負荷を単純に吸収するのに十分なほど人気があると思いますが、小規模な Web サイトはそれを評価しないかもしれません。
あなたの質問に関して言えば、このサイトはあなたのプログラミングに関する質問を解決し、あなたが抱えている問題を解決し、道を突き進む手助けをしてくれるはずです。Python を学び、自分で試してみてください。問題が発生した場合は、質問してください。
私は変更されたユーザー エージェント (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'