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

使用Python 3.6.4下载图像并按图书id创建文件夹,python,image,directory,jpeg,Python,Image,Directory,Jpeg,网址 一个图书id中有4个jpg文件 有749-826本书的id 最后的URL是 我尝试使用两个“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

网址

一个图书id中有4个jpg文件

有749-826本书的id

最后的URL是

我尝试使用两个“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个页面逐个移动到文件夹中

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的url,现在它将下载,如果有一些内容希望它有帮助

在您有了url后,您可以下载并存储图像,如下所示:

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")

请共享您编写的代码。除非在更大的程序中需要它,否则在bash中使用
curl
,类似于$id\u列表中id的
,这样做会更容易;不要使用mkdir$id;我在1234;卷曲http://url.com/$id/页-$i.jpg$id/页-$i.jpg;完成;完成
请分享您的代码和面临的错误with@Pawamoy非常感谢你的帮助。我将在bash中尝试您的代码。但首先我要下载ubuntu并安装到VMware,因为解决状态是通过接受答案(绿色复选图标)并将其添加到标题中来明确给出的,这只是噪音。我还从问题中删除了一些不相关的文本(这是有争议的),以关注问题本身。非常感谢您的帮助!你做了第一件事。第二个问题是如何通过所有url下载图像?现在检查我添加了第二个我正在Windows 10中使用Python 3.6.4。您的代码适用于Python 2.x?我试图解决此错误:“dict_-keys”对象不支持索引我无法修复此错误:对于data.items()[0][1]:TypeError:“dict_-items”对象不支持索引回溯(最后一次调用):os.makedirs(bookid)文件“C:\Program Files(x86)”中的第15行文件“G:\url2.py”\Python\lib\os.py”,第205行,在makedirs head,tail=path.split(名称)文件“C:\Program Files(x86)\Python\lib\ntpath.py”,第204行,在split p=os.fspath(p)TypeError中:应为str、bytes或os.PathLike对象,而不是int@Kanglando检查now@Kanglando我的机器没有任何错误。您使用过更新的代码吗?这个错误是因为我提供了bookid,它是int来创建字典的。我在Windows10上使用Python3.6.4。你呢?嗯,“导入urllib.request”,“urllib.request.urlretrieve(”http://...“”“在Python 3.x中工作@py-D