前提・実現したいこと
IP Forece Foreceという知財ポータルサイトから画像をスクレイピングしたいです。対象とする画像は以下のような図でjfifという拡張子になります。以下の場合1から10のすべての画像を取得したいです。サイト中のネットを漁っていた際に、サイト内のpngやjpegなどの画像をスクレイピングするコードは見つかりました。サイトのhtmlソースでは図のurlが~.png等になっていないためプログラムをどう改変すればよいのかわかりません。OSはwindowsで言語はpython3.7になります。回答よろしくお願いいたします。
該当のソースコード
python
1import requests 2from bs4 import BeautifulSoup 3import os 4import sys 5 6def download_site_imgs(url, path): 7 img_urls = [] 8 9 # パス(保存先)が存在しなければ新規作成 10 if not os.path.exists(path): 11 os.makedirs(path) 12 13 # htmlのパース 14 soup = BeautifulSoup(requests.get(url).content,'lxml') 15 16 # 画像リンクなら(拡張子がjpgなど)リストに追加 17 for img_url in soup.find_all("img"): 18 # imgタグのsrc要素を抽出 19 src = img_url.get("src") 20 #src要素に画像の拡張子が含まれていたらリストに追加 21 if 'jpg' in src: 22 img_urls.append(src) 23 elif 'png' in src: 24 img_urls.append(src) 25 elif 'gif' in src: 26 img_urls.append(src) 27 elif 'tif' in src: 28 img_urls.append(src) 29 30 print(img_url) 31 32 # 画像リンク先のデータをダウンロード 33 for img_url in img_urls: 34 re = requests.get(img_url) 35 print('Download:', img_url) 36 with open(path + img_url.split('/')[-1], 'wb') as f: # imgフォルダに格納 37 f.write(re.content) 38 39 40if __name__ == '__main__': 41 download_site_imgs('取得するurl', 'img/')
補足情報(FW/ツールのバージョンなど)
あなたの回答
tips
プレビュー