実現したいこと
スクレイピングした複数画像データをエクセルに場所を指定して挿入したい
実施したこと
python
1from PIL import Image 2from selenium import webdriver 3import io 4from urllib import request 5import time 6from datetime import date as dt 7import pandas as pd 8import os 9 10 11browser = webdriver.Chrome() 12browser.get('https://xxx.jp/') 13time.sleep(60) 14 15#画像保存は済み 16for i in range(6): 17 for elem in browser.find_elements_by_xpath('/html/body/main/div/div[1]/div[1]/div/div[1]/ul/li[{}]/a/img'.format(i)): 18 try: 19 imgs = elem.get_attribute('src') 20 image = io.BytesIO(request.urlopen(imgs).read()) 21 img = Image.open(image) 22 img = img.resize((560, 250)) 23 img.save(r'C:\Users/xxx{}.jpg'.format(i) 24 except OSError: 25 pass 26 27browser.get('https://yyy.jp/') 28time.sleep(60) 29 30for i in range(6): 31 for elem in browser.find_elements_by_xpath('/html/body/main/div/div[1]/div[1]/div/div[1]/ul/li[{}]/a/img'.format(i)): 32 try: 33 imgs = elem.get_attribute('src') 34 image = io.BytesIO(request.urlopen(imgs).read()) 35 img = Image.open(image) 36 img = img.resize((560, 250)) 37 img.save(r'C:\Users/yyy{}.jpg'.format(i) 38 except OSError: 39 pass
試したこと
python
1import openpyxl 2import cv2 3wb = openpyxl.Workbook() 4ws = wb.worksheets[0] 5 6for i in range(1,5): 7 try: 8 img = openpyxl.drawing.image.Image(r'C:\Users\xxx{}.jpg'.format(i)) 9 ws.add_image( img, 'A{}'.format(i)) 10 wb.save('11.xlsx') 11 except FileNotFoundError: 12 pass
→複数画像があるのでfor文で記載しておりますが、重なって挿入されてしまいます。
またファイルごと(xxx , yyy)にシートを分け、画像を縦に保存していく方法が分かりません。ご教授いただけるとありがたいです。
何卒宜しくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2019/08/05 10:44