gpt4 book ai didi

python - 抓取页面,获取图像并生成包含每页抓取图像的文件夹

转载 作者:行者123 更新时间:2023-12-01 08:15:06 28 4
gpt4 key购买 nike

我正在从使用 selenium Web 驱动程序抓取的页面中获取图像列表。每个页面都有 n 个图像,每个图像都有 3 个变体(拇指、悬停、完整)。所以我创建了列表,其中每个列表项都是包含所有 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_#x}{页面标题}每个文件夹都包含从该页面获取的图像。图像名称的格式为:

{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 保存标题(我将删除空格和其他字符)。

我会在每页创建文件夹

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'])

这对你有帮助吗?

关于python - 抓取页面,获取图像并生成包含每页抓取图像的文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55037934/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com