Initial commit for push folder
This commit is contained in:
commit
c4af9fcbb5
82 changed files with 3294 additions and 0 deletions
41
recognization/code/download_stock.py
Normal file
41
recognization/code/download_stock.py
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
import os
|
||||
import sys
|
||||
import io
|
||||
import urllib.request
|
||||
from PIL import Image
|
||||
|
||||
# Ensure stdout handles utf-8 cleanly
|
||||
if sys.platform.startswith('win'):
|
||||
sys.stdout.reconfigure(encoding='utf-8')
|
||||
|
||||
urls = {
|
||||
'sku_011': ('https://www.kagome.co.jp/products/brand/ys100/regular/img/img_products_apple@2x_v2.png', '野菜生活100 アップルサラダ'),
|
||||
'sku_012': ('https://www.kagome.co.jp/products/brand/ys100/regular/img/img_products_lemon@2x_v2.png', '野菜生活100 レモンサラダ'),
|
||||
'sku_013': ('https://www.kagome.co.jp/products/brand/ys100/yssmoothie/img/green-product-pic_2.png', '野菜生活100 Smoothie グリーンスムージー'),
|
||||
'sku_014': ('https://www.kagome.co.jp/products/brand/ys100/yssmoothie/img/orange-product-pic_2.png', '野菜生活100 Smoothie ビタミンスムージー'),
|
||||
'sku_015': ('https://www.kagome.co.jp/products/brand/ys100/yssmoothie/img/yellow-product-pic_2.png', '野菜生活100 Smoothie バナナ&アーモンドmix'),
|
||||
'sku_016': ('https://www.kagome.co.jp/products/brand/ys100/yssmoothie/img/red-product-pic_2.png', '野菜生活100 Smoothie アサイー&ベリーmix')
|
||||
}
|
||||
|
||||
os.makedirs('stock', exist_ok=True)
|
||||
|
||||
for sku, (url, name) in urls.items():
|
||||
print(f'Fetching {sku}: {name} from {url}...')
|
||||
req = urllib.request.Request(url, headers={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)'})
|
||||
try:
|
||||
with urllib.request.urlopen(req, timeout=15) as resp:
|
||||
data = resp.read()
|
||||
img = Image.open(io.BytesIO(data))
|
||||
if img.mode in ('RGBA', 'LA') or (img.mode == 'P' and 'transparency' in img.info):
|
||||
bg = Image.new('RGB', img.size, (255, 255, 255))
|
||||
if img.mode != 'RGBA':
|
||||
img = img.convert('RGBA')
|
||||
bg.paste(img, mask=img.split()[3])
|
||||
img = bg
|
||||
else:
|
||||
img = img.convert('RGB')
|
||||
out_path = f'stock/{sku}.jpeg'
|
||||
img.save(out_path, 'JPEG', quality=95)
|
||||
print(f'Successfully saved {sku}: {name} -> {out_path} ({img.size})')
|
||||
except Exception as e:
|
||||
print(f'Error downloading {sku} ({url}): {e}')
|
||||
Loading…
Add table
Add a link
Reference in a new issue