前提・実現したいこと
Pythonの初心者です。
ネットショップのサイトから画像を取得して、ローカルに保存するプログラムをPythonで作っているのですが、以下の問題が発生しています。お力を貸していただけると助かります。
発生している問題・エラーメッセージ
find_all()を使っているのに、条件に当てはまる最初の画像1枚しか取得できない。
(ソースコードの途中に、画像を取得した段階で一旦printするコードを書いています。その段階で一枚の画像しか取得できていません。)
注・以下のソースコード中、「with open」の後に記述したフォルダ名は空欄にしてあります。
該当のソースコード
Python
# coding:utf-8 import requests from bs4 import BeautifulSoup url = 'https://store.nike.com/us/en_us/product/epic-react-flyknit-id/?piid=44794&pbid=1032652773' headers = {'User-Agent':'Mozilla/5.0'} soup = BeautifulSoup(requests.get(url,headers=headers).content,'html.parser') images = [] # 画像リストの空配列
for img in soup.find_all('img',class_="exp-id-imagegrid__image", limit=10): print(img.get("src")) images.append(img.get("src"))
for target in images: re = requests.get(target) with open(r'', 'wb') as f: # imgフォルダに格納 f.write(re.content) print("画像保存が完了しました。")
試したこと
・取得したい画像のクラス名がいくつかあったため、すべて試した。
・パーサーを「html.parser」と「lxml」の二つ試した。
補足情報
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー