Bing Seach API バージョン7.0でスクレイピングやってみた

#画像をスクレイピングする
# -*- coding:utf-8 -*-
#数学ライブラリをインポート
import math

#URL等を操るために使う関数
import requests

#URLから画像を保存したりするときの処理に使う
import imgutil

#1秒待機するために使う
import time
 
# image save path
#ユーザーからJBを起動
#Cドライブに新たに下記のフォルダが作られる
path = "/path/to/save"
imgutil.mkdir(path)
 
#エンドポイント
url = "https://api.cognitive.microsoft.com/bing/v7.0/images/search"
 
# parameters
#ほしい画像のキーワード
query = "ほしい画像のキーワード"
#何枚の画像をダウンロードするのか
count = 150      # 1リクエストあたりの最大取得件数 default:30 max:150
mkt = "ja-JP"   # 取得元の国コード
 
num_per = 8    # 重要:リクエスト回数(count * num_per=取得画像数)
offset = math.floor(count / num_per)    # ループ回数
 
#自分のAPIキー
subscriptionKey="自分のAPIキー"    # Bing Search API Key
 
headers = {'Ocp-Apim-Subscription-Key':subscriptionKey}
 
for offset_num in range(offset):
    #q:検索ワード
    #count:1リクエストあたりの取得件数
    #offset:データを取得開始するインデックス
    #mkt:結果の取得元となる国コード
    params = {'q':query,'count':count,'offset':offset_num*offset,'mkt':mkt}
    r = requests.get(url,headers=headers,params=params)
    #結果はJSON形式で取得されます。
    data = r.json()
    #キー「value」の配列として、
    for values in data['value']:
        #各「contentURL」の値が画像のURLとなる。あとはこのURLから画像をダウンロードする。
        image_url = values['contentUrl']
        try:
             #imgutilはgithubからソースコードをダウンロードしてきて、spyderに貼り付け、同じ階層内に入れておく
            imgutil.download_img(path,image_url)
        except Exception as e: #エラーの場合の処理
            print("failed to download image at {}".format(image_url))
            print(e)
    time.sleep(1) #1秒待機