2017-05-26 59 views
-1

我想從一個url下載JPG文件。Python腳本從url中越來越多的下載JPG

https://example.com/ebooks/47820eb8e1eda4a69aba442a/images/1.jpg

全書共641頁,我不想手動下載。 該網站不需要特殊的Cookie來訪問圖像 我試圖創建一個腳本來將其保存到一個目錄,但它不起作用。

import urllib.request 
import os 
os.chdir("E:\Downloads") #your path 
i=1; 
while i<615: 
try: 
    urllib.request.urlretrieve("https://example.com/ebooks/47820eb8e1eda4a69aba442a/images/"+ str(i)+".jpg") 
i+=1; 

我該如何讓它工作?

+2

是您的代碼格式正確的? 'while'後的'try'似乎沒有適當的縮進。 – errata

+1

'python 2'或'python 3'?你給他們加了標籤 – WhatsThePoint

+1

你已經到了一半。只是a)瞭解'try/except'子句是如何工作的; b)使用'urlretrieve'返回的數據; c)學習如何將後者保存到文件中;和d)正確識別你的代碼(這應該是第一件事)。 – ForceBru

回答

0

既然你不關心的Python特別是,你可以在使用curl一個批處理文件

@echo off 
setlocal enableextensions enabledelayedexpansion 
set /a "x = 1" 
:while1 
    if %x% leq 615 (
     curl --insecure --silent https://example.com/ebooks/47822eb8e1eda4a69aba442a/images/%x%.jpg -o E:\downloads\%x%.jpg 
     set /a "x = x + 1" 
     goto :while1 
    ) 
endlocal 

的捲曲線條看起來像

curl --insecure --silent https://example.com/ebooks/47820eb8e1eda4a69aba442a/images/1.jpg -o E:\downloads\1.jpg 
curl --insecure --silent https://example.com/ebooks/47820eb8e1eda4a69aba442a/images/2.jpg -o E:\downloads\2.jpg 
curl --insecure --silent https://example.com/ebooks/47820eb8e1eda4a69aba442a/images/3.jpg -o E:\downloads\3.jpg 
+0

有沒有什麼辦法可以創建網址而無需自己輸入? – Tom

+0

@Tom如果你看腳本,你只需鍵入一次腳本就會生成615個網址 – Marichyasana

0
import urllib.request 
import os 
path = "E:\\Downloads\\" #your path 
i=1 
while i<615: 
    try: 
     urllib.request.urlretrieve("https://example.com/ebooks/47820eb8e1eda4a69aba442a/images/"+ str(i) +".jpg", path+ str(i) +".jpg") 
    except Exception: 
     pass 
    i+=1 

試試這個。 另外,你的問題被打上即使你的代碼是在Python 3 python2.7(urllib.request裏不存在2.7)

+0

我在Linux和Windows都試過,沒有下載。我正在運行蟒蛇3. – Tom