Python 刮取页面、获取图像并生成文件夹,每页刮取图像

Python 刮取页面、获取图像并生成文件夹,每页刮取图像,python,python-3.x,list,dictionary,Python,Python 3.x,List,Dictionary,我正在从SeleniumWeb驱动程序抓取的页面中获取图像列表。 对于每个页面,都有n图像,每个图像有3个变体(thumb、hoved、full)。 所以我创建了一个列表,其中每个列表项都是包含所有3个版本图像的字典: advert_image_dict.append({ 'Image_thumb_100x75:': img, 'Image_hoved_400x300:': image_hoved, 'Image_full_

我正在从SeleniumWeb驱动程序抓取的页面中获取图像列表。 对于每个页面,都有
n
图像,每个图像有3个变体(thumb、hoved、full)。 所以我创建了一个列表,其中每个列表项都是包含所有3个版本图像的字典:

advert_image_dict.append({
            'Image_thumb_100x75:': img,
            'Image_hoved_400x300:': image_hoved,
            'Image_full_800x600:': image_full})
因此,单个列表项如下所示:

print(image_dict[1])

{'Image_thumb_100x75:':
'https://cache.mysite.com/mmo/7/295/170/227_-64694801_thumb.jpg', 
'Image_hoved_400x300:':
'https://cache.mysite.com/mmo/7/295/170/227_-64694801_hoved.jpg', 
'Image_full_800x600:':
'https://cache.mysite.com/mmo/7/295/170/227_-64694801.jpg'}
我需要创建每个网页刮文件夹,这将容纳该页的所有图像。 文件夹名称的格式如下:
{Page_35;x}{Title of Page}
每个文件夹都包含从该页面获取的图像。 图像名称的格式为:

{Title of page}{Image_#x}{image_dict[x].get('Image_thumb_100x75')}
{Title of page}{Image_#x}{image_dict[x].get('Image_hoved_400x300')}
{Title of page}{Image_#x}{image_dict[x].get('Image_full_800x600')}

{Title of page}{Image_#x+1}{image_dict[x+1].get('Image_thumb_100x75')}
{Title of page}{Image_#x+1}{image_dict[x+1].get('Image_hoved_400x300')}
{Title of page}{Image_#x+1}{image_dict[x+1].get('Image_full_800x600')}
变量
ad_title
保存title(我将删除空格和其他字符)

我会创建文件夹,每页与

path = "/test/`{Page_#x}{Title of page}"
os.mkdir(path)
并使用

urllib.urlretrieve("https://cache.mysite.com/mmo/7/295/170/227_-64694801_thumb.jpg", "{Title of page}{Image_#x}{image_dict[x].get('Image_thumb_100x75')}")

我只是不知道如何为文件夹和图像名称定义这个fetch/define names迭代器。

看起来简单的字符串格式可以帮助您

要生成文件夹的名称和路径,可以使用:

import os

page_num = 22
page_title = 'something'
dir_name = '{}{}'.format(page_num, page_title)
dir_full_path = os.path.join('/', 'test', dir_name)
要生成图像文件的名称,可以尝试:

advert_image_list = [
    {
        'Image_thumb_100x75:': 'https://cache.mysite.com/mmo/7/295/170/227_-64694801_thumb.jpg',
        'Image_hoved_400x300:': 'https://cache.mysite.com/mmo/7/295/170/227_-64694801_hoved.jpg',
        'Image_full_800x600:': 'https://cache.mysite.com/mmo/7/295/170/227_-64694801.jpg',
    },
    ...
]

for i, d in enumerate(advert_image_list):
    file_name_1 = '{}{}{}'.format(page_title, i, d['Image_thumb_100x75'])
    file_name_2 = '{}{}{}'.format(page_title, i, d['Image_hoved_400x300'])
    file_name_3 = '{}{}{}'.format(page_title, i, d['Image_full_800x600'])

这对你有帮助吗?

正是我想要的。非常感谢。