使用Python 3.6.4下载图像并按书ID创建文件夹

时间:2018-03-28 14:21:44

标签: python image directory jpeg pythonanywhere

网址

一本图书ID中有4个jpg文件。

有749 - 826本书ID

最后的网址是

我尝试使用两个“for循环和while循环”来获取所有url,但总是失败。

# -*- coding: UTF-8 -*-

base_url = "http://url.com/"

page = "/page-"

jpg = ".jpg"


for bookid in range(749,827):
    url = base_url + str(bookid) + page
    for n in range(1,5):
        u = url + str(n) + jpg
        print (u)

逻辑是我想获得1本书ID和1-4 jpg,然后按书ID创建一个文件夹。将1-4页逐页移动到文件夹。

https://stackoverflow.com/users/5436472/pawanvir-singh解析

非常感谢你!

2 个答案:

答案 0 :(得分:0)

import urllib
import os 
book_ids = list(range(749 ,827))
page_ids = ["page-1.jpg","page-2.jpg","page-3.jpg","page-4.jpg"]
all_url = []
base_url ="http://url.com/"

for book_id in book_ids:
    books =[]
    for page_id in page_ids:
       books.append(base_url+str(book_id)+"/"+str(page_id))
    all_url.append({book_id:books})
for data in all_url:
   directory ="new/"+str(data.keys()[0])
   if not os.path.exists(directory):
     os.makedirs(directory)
   count = 0
   for urls in data.items()[0][1]:
      #print urls
      filename = page_ids[count]
      #print filename
      fullfilename = os.path.join(directory, filename)
      urllib.urlretrieve(urls, fullfilename)
      count= count+1

现在你拥有所有具有相应图书ID的网址,如果有一些内容希望它有帮助,它会下载

答案 1 :(得分:0)

在您拥有网址后,您可以下载并存储图片,如下所示:

import urllib
import os
for bookid in range(749,827):
    url = base_url + str(bookid) + page
    for n in range(1,5):
        u = url + str(n) + jpg
        if not os.path.exists(str(bookid)):
            os.makedirs(str(bookid))
        urllib.urlretrieve(u,str(bookid)+"/page"+str(n)+".jpg")