Bing Search APIを利用して画像検索を実装してみよう

 今回やりたいことの確認

今回でやりたいことの確認です。

  • AKBメンバー120名の名前一人ひとりに対して、画像100枚をダウンロードして、それをCSVに保存する というような流れで進めていきます。

モジュールのインポート

今回使うのは、以下のモジュールです。

  • Requests: HTTPの通信を行うことができるPythonモジュール
  • Pandas: 取得したデータをCSVに出力することができるモジュール さっそく、importしてみましょう。

さっそく、importしてみましょう。

import requests
import pandas as pd

APIキーの指定

次に、Microsoft Azureから取得したAPIキーを指定します。

import requests
import pandas as pd

API_KEY = "$ここに取得したAPIキーを追加" # APIキーを追加

APIのエンドポイントの追加

今度は、APIを実行するURLを指定してあげます。

import requests
import pandas as pd

API_KEY = "$ここに取得したAPIキーを追加" 
URL = "https://api.cognitive.microsoft.com/bing/v7.0/images/search" #APIのエンドポイントの追加

送信するHTTPヘッダーを指定

次に、送信するHTTPヘッダーを指定します。

HTTPヘッダーについては、さきほどリファレンスを見ると、以下のようになりました。

  • ・Ocp-Apim-Subscription-Key:Cognitive Servicesでこのサービスにサインアップしたときに受け取ったサブスクリプションキー。

こちらを、requestsモジュールでHTTPの通信で送れるように設定します。

import requests
import pandas as pd

API_KEY = "$ここに取得したAPIキーを追加" 
URL = "https://api.cognitive.microsoft.com/bing/v7.0/images/search" 
headers = {"Ocp-Apim-Subscription-Key" : API_KEY} # HTTP Headerの設定

取得上限数を指定

次に画像の取得数を指定します。

import requests
import pandas as pd

API_KEY = "$ここに取得したAPIキーを追加" 
URL = "https://api.cognitive.microsoft.com/bing/v7.0/images/search" 
headers = {"Ocp-Apim-Subscription-Key" : API_KEY} 
MAX_RESULTS = 100 #取得する画像の最大値

検索キーワードを指定

次に、取得したい画像の検索キーワードを追加します。

import requests
import pandas as pd

API_KEY = "$ここに取得したAPIキーを追加" 
URL = "https://api.cognitive.microsoft.com/bing/v7.0/images/search" 
headers = {"Ocp-Apim-Subscription-Key" : API_KEY} 
MAX_RESULTS = 100 
term = '入山杏奈' #検索キーワードの指定

Query Parameterの指定

今度は、実際に投げるクエリパラメーターを指定します。

import requests
import pandas as pd

API_KEY = "$ここに取得したAPIキーを追加" 
URL = "https://api.cognitive.microsoft.com/bing/v7.0/images/search" 
headers = {"Ocp-Apim-Subscription-Key" : API_KEY} 
MAX_RESULTS = 100 
term = '入山杏奈'
params = {"q": term,"count": MAX_RESULTS, "imageType":"Photo", "color":"ColorOnly"} # パラメーターの設定

Requestsモジュールで、APIにGETリクエストを送信する

ついに、APIにGETリクエストで送信してみましょう。

requestsのgetメソッドに関しては、requestsの公式リファレンスを見てみましょう。

クイックスタート

覚えておくことは、以下の通りです。requests.getの引数には、以下の引数が入ります。

  • params: クエリパラメーター
  • headers:ヘッダー

また、requests.getメソッドで取得した通信のデータを、JSON形式という、パラメーターを取得しやすい形に変換することができます。その場合は、

requests.get(url, params=hoge, headers = fuga).json()

といった形で取得することができるようになります。

最後に、実行結果を確認したいので、printをはさんで早速実行してみましょう

import requests
import pandas as pd

API_KEY = "$ここに取得したAPIキーを追加" 
URL = "https://api.cognitive.microsoft.com/bing/v7.0/images/search" 
headers = {"Ocp-Apim-Subscription-Key" : API_KEY} 
MAX_RESULTS = 100 
term = '入山杏奈'
params = {"q": term,"count": MAX_RESULTS, "imageType":"Photo", "color":"ColorOnly"} # パラメーターの設定
search_json = requests.get(URL, headers=headers, params=params).json()
print (search_json)

実行結果は、うまくいくと以下のようになるはずです。

{'_type': 'Images',
'instrumentation': {'_type': 'ResponseInstrumentation'},
'nextOffset': 114,
'pivotSuggestions': [{'pivot': '入山杏奈', 'suggestions': []}],
'readLink': 'images/search?q=入山杏奈',
'totalEstimatedMatches': 864,
'value': [{'accentColor': '8F613C',
  'contentSize': '170373 B',
  'contentUrl': 'http://pic.prepics-cdn.com/ai19951203/18185023.jpeg',
  'datePublished': '2013-02-05T02:07:00.0000000Z',
  'encodingFormat': 'jpeg',
  'height': 1272,
  'hostPageDisplayUrl': 'matome.naver.jp/odai/2135443350771183301',
  'hostPageUrl': 'http://matome.naver.jp/odai/2135443350771183301',
  'imageId': '4CF42831857FA7CFFFB0E0D87A2A12F24AF641C6',
  'imageInsightsToken': 'ccid_XyrDF5Ap*mid_4CF42831857FA7CFFFB0E0D87A2A12F24AF641C6*simid_608021514716774738*thid_OIP.XyrDF5ApGcMr4aJNccc5nQHaKv',
  'insightsMetadata': {'availableSizesCount': 18,
   'bestRepresentativeQuery': {'displayText': 'Anna Iriyama',
    'text': 'Anna Iriyama',
    'webSearchUrl': 'https://www.bing.com/images/search?q=Anna+Iriyama&id=4CF42831857FA7CFFFB0E0D87A2A12F24AF641C6&FORM=IDBQDM'},
   'pagesIncludingCount': 49,
   'recipeSourcesCount': 0},

この`value`が複数あり、それぞれの中の、`contentUrl`の中に画像が入っているみたいですね。
これを取り出すためには、以下のように取得します。

import requests
import pandas as pd

API_KEY = "$ここに取得したAPIキーを追加" 
URL = "https://api.cognitive.microsoft.com/bing/v7.0/images/search" 
headers = {"Ocp-Apim-Subscription-Key" : API_KEY} 
MAX_RESULTS = 100 
term = '入山杏奈'
params = {"q": term,"count": MAX_RESULTS, "imageType":"Photo", "color":"ColorOnly"} # パラメーターの設定
search_json = requests.get(URL, headers=headers, params=params).json()
print (search_json)
for json in search_json["value"]:
 print(json["name"])
 print(json["contentUrl"])

結果は、以下のようになるはずです。

KB48 入山杏奈の美少女姿に衝撃! - NAVER まとめ
http://pic.prepics-cdn.com/ai19951203/18185023.jpeg
画像 : 【AKB48】入山杏奈 画像集♡ - NAVER まとめ
http://m032-001-music-camp-pr.s3.amazonaws.com/iLz6SoospqDUukJTyGFt37oiPufw0TlH5_lfABcvZ6I-image-full
入山杏奈さん 手を負傷 ? : 入山杏奈、川栄李奈、負傷!【AKB ...
http://up.gc-img.net/post_img_web/2013/09/b91e168fce0777968cbf439d90a92bb2_644.jpeg
入山杏奈 | 毒女ニュース
http://www.officiallyjd.com/wp-content/uploads/2013/05/20130430_takasu_11.jpg
目がシバシバ。 おはようございます。
https://lh6.googleusercontent.com/-GIYgoJx8478/Uh-yrpLsQsI/AAAAAAAExz4/Q_tBE8LmRb4/w506-h675/photo.jpg
AKB48入山杏奈 高校は?めちゃイケ出演?激太り・すっぴん画像
http://take-y.com/wp-content/uploads/2014/05/img20140525akb48iriyamaanna.jpg
テニスウェア の画像ギャラリーまとめ一覧 アイドルおかず画像 ...
http://blog-imgs-58.fc2.com/a/k/b/akberogazou/a5644.jpg

これで、画像名とそのURLを取得することができました。

AKB122人分の画像を取得して、CSVにエクスポートする

では、最後に全員分の画像を取得したいと思います。

まず、女優のリストを追加します。

import requests
import pandas as pd

API_KEY = "$ここに取得したAPIキーを追加" 
URL = "https://api.cognitive.microsoft.com/bing/v7.0/images/search" 
headers = {"Ocp-Apim-Subscription-Key" : API_KEY} 
MAX_RESULTS = 100 

members = [ # AKBのメンバーを追加する
 "入山杏奈",
 "加藤玲奈",
 "後藤萌咲",
 "篠崎彩奈",
 "鈴木くるみ",
 "田口愛佳",
 "千葉恵里",
 "西川怜",
 "前田彩佳", 
 "宮崎美穂",
 "向井地美音", 
 "横山由依", 
 "市川愛美",
 "小嶋真子",
 "込山榛香",
 "下口ひなな", 
 "野澤玲奈",
 "藤田奈那",
 "峯岸みなみ", 
 "武藤小麟", 
 "武藤十夢", 
 "茂木忍", 
 "安田叶", 
 "湯本亜美", 
 "岩立沙穂", 
 "大家志津香", 
 "柏木由紀", 
 "北澤早紀", 
 "久保怜音", 
 "佐々木優佳里", 
 "高橋朱里", 
 "田北香世子", 
 "竹内美宥", 
 "谷口めぐ", 
 "中西智代梨", 
 "樋渡結依", 
 "福岡聖菜", 
 "山邊歩夢", 
 "浅井七海", 
 "稲垣香織", 
 "大川莉央", 
 "大森美優", 
 "岡田奈々", 
 "川本紗矢", 
 "佐藤妃星", 
 "達家真姫宝", 
 "田屋美咲", 
 "馬嘉伶", 
 "村山彩希", 
 "山内瑞葵", 
 "坂口渚沙", 
 "横山結衣", 
 "谷川聖", 
 "佐藤七海", 
 "御供茉白", 
 "佐藤朱", 
 "伊藤きらら", 
 "岡部麟",
 "本田仁美" ,
 "清水麻璃亜" ,
 "髙橋彩音" ,
 "吉川七瀬" ,
 "小栗有以" ,
 "小田えりな" ,
 "佐藤栞" ,
 "左伴彩佳" ,
 "歌田初夏" ,
 "横道侑里" ,
 "服部有菜" ,
 "野田陽菜乃" ,
 "橋本陽菜" ,
 "平野ひかる" ,
 "長久玲奈" ,
 "髙橋彩香" ,
 "永野芹佳" ,
 "太田奈緒" ,
 "山田菜々美" ,
 "山本瑠香" ,
 "大西桃香" ,
 "濵咲友菜" ,
 "中野郁海" ,
 "奥原妃奈子" ,
 "人見古都音" ,
 "奥本陽菜" ,
 "下尾みう" ,
 "春本ゆき" ,
 "行天優莉奈",
 "高岡薫" ,
 "立仙愛理" ,
 "吉田華恋" ,
 "川原美咲" ,
 "寺田美咲" ,
 "倉野尾成美" ,
 "山田杏華" ,
 "谷口もか" ,
 "藤園麗" ,
 "宮里莉羅" ,
 "梅本和泉" ,
 "黒須遥香" ,
 "佐藤美波" ,
 "庄司なぎさ" ,
 "長友彩海" ,
 "播磨七海" ,
 "本間麻衣" ,
 "道枝咲" ,
 "山根涼羽" ,
 "佐藤詩識" ,
 "古川夏凪" ,
 "本田そら" ,
 "岡田梨奈" ,
 "勝又彩央里" ,
 "小林蘭" ,
 "末永祐月" ,
 "永野恵" ,
 "矢作萌夏" ,
 "大竹ひとみ" ,
 "大盛真歩" ,
 "齋藤陽菜" ,
 "石綿星南" ,
 "蔵本美結" ,
 "多田京加" ,
 "吉橋柚花" ,   
]

そして、保存するようにPandasを呼び出します。

import requests
import pandas as pd

API_KEY = "$ここに取得したAPIキーを追加" 
URL = "https://api.cognitive.microsoft.com/bing/v7.0/images/search" 
headers = {"Ocp-Apim-Subscription-Key" : API_KEY} 
MAX_RESULTS = 100 

members = [ # AKBのメンバーを追加する
 "入山杏奈",
 "加藤玲奈",
 "後藤萌咲",
 "篠崎彩奈",
 "鈴木くるみ",
 "田口愛佳",
 "千葉恵里",
 "西川怜",
 "前田彩佳", 
 "宮崎美穂",
 "向井地美音", 
 "横山由依", 
 "市川愛美",
 "小嶋真子",
 "込山榛香",
 "下口ひなな", 
 "野澤玲奈",
 "藤田奈那",
 "峯岸みなみ", 
 "武藤小麟", 
 "武藤十夢", 
 "茂木忍", 
 "安田叶", 
 "湯本亜美", 
 "岩立沙穂", 
 "大家志津香", 
 "柏木由紀", 
 "北澤早紀", 
 "久保怜音", 
 "佐々木優佳里", 
 "高橋朱里", 
 "田北香世子", 
 "竹内美宥", 
 "谷口めぐ", 
 "中西智代梨", 
 "樋渡結依", 
 "福岡聖菜", 
 "山邊歩夢", 
 "浅井七海", 
 "稲垣香織", 
 "大川莉央", 
 "大森美優", 
 "岡田奈々", 
 "川本紗矢", 
 "佐藤妃星", 
 "達家真姫宝", 
 "田屋美咲", 
 "馬嘉伶", 
 "村山彩希", 
 "山内瑞葵", 
 "坂口渚沙", 
 "横山結衣", 
 "谷川聖", 
 "佐藤七海", 
 "御供茉白", 
 "佐藤朱", 
 "伊藤きらら", 
 "岡部麟",
 "本田仁美" ,
 "清水麻璃亜" ,
 "髙橋彩音" ,
 "吉川七瀬" ,
 "小栗有以" ,
 "小田えりな" ,
 "佐藤栞" ,
 "左伴彩佳" ,
 "歌田初夏" ,
 "横道侑里" ,
 "服部有菜" ,
 "野田陽菜乃" ,
 "橋本陽菜" ,
 "平野ひかる" ,
 "長久玲奈" ,
 "髙橋彩香" ,
 "永野芹佳" ,
 "太田奈緒" ,
 "山田菜々美" ,
 "山本瑠香" ,
 "大西桃香" ,
 "濵咲友菜" ,
 "中野郁海" ,
 "奥原妃奈子" ,
 "人見古都音" ,
 "奥本陽菜" ,
 "下尾みう" ,
 "春本ゆき" ,
 "行天優莉奈",
 "高岡薫" ,
 "立仙愛理" ,
 "吉田華恋" ,
 "川原美咲" ,
 "寺田美咲" ,
 "倉野尾成美" ,
 "山田杏華" ,
 "谷口もか" ,
 "藤園麗" ,
 "宮里莉羅" ,
 "梅本和泉" ,
 "黒須遥香" ,
 "佐藤美波" ,
 "庄司なぎさ" ,
 "長友彩海" ,
 "播磨七海" ,
 "本間麻衣" ,
 "道枝咲" ,
 "山根涼羽" ,
 "佐藤詩識" ,
 "古川夏凪" ,
 "本田そら" ,
 "岡田梨奈" ,
 "勝又彩央里" ,
 "小林蘭" ,
 "末永祐月" ,
 "永野恵" ,
 "矢作萌夏" ,
 "大竹ひとみ" ,
 "大盛真歩" ,
 "齋藤陽菜" ,
 "石綿星南" ,
 "蔵本美結" ,
 "多田京加" ,
 "吉橋柚花" ,   
]
columns = ["term", "title","url"] # 列名の設定 
df = pd.DataFrame(columns=columns) # データフレーム作成

次に、メンバー一人ひとりの画像を追加できるようにします。さきほどのスクリプトに、for文で一人ひとりの名前を繰り返させて、APIにリクエストを送ってみたいと思います。

import requests
import pandas as pd

API_KEY = "$ここに取得したAPIキーを追加" 
URL = "https://api.cognitive.microsoft.com/bing/v7.0/images/search" 
headers = {"Ocp-Apim-Subscription-Key" : API_KEY} 
MAX_RESULTS = 100 

members = [ # AKBのメンバーを追加する
 "入山杏奈",
 "加藤玲奈",
 "後藤萌咲",
 "篠崎彩奈",
 "鈴木くるみ",
 "田口愛佳",
 "千葉恵里",
 "西川怜",
 "前田彩佳", 
 "宮崎美穂",
 "向井地美音", 
 "横山由依", 
 "市川愛美",
 "小嶋真子",
 "込山榛香",
 "下口ひなな", 
 "野澤玲奈",
 "藤田奈那",
 "峯岸みなみ", 
 "武藤小麟", 
 "武藤十夢", 
 "茂木忍", 
 "安田叶", 
 "湯本亜美", 
 "岩立沙穂", 
 "大家志津香", 
 "柏木由紀", 
 "北澤早紀", 
 "久保怜音", 
 "佐々木優佳里", 
 "高橋朱里", 
 "田北香世子", 
 "竹内美宥", 
 "谷口めぐ", 
 "中西智代梨", 
 "樋渡結依", 
 "福岡聖菜", 
 "山邊歩夢", 
 "浅井七海", 
 "稲垣香織", 
 "大川莉央", 
 "大森美優", 
 "岡田奈々", 
 "川本紗矢", 
 "佐藤妃星", 
 "達家真姫宝", 
 "田屋美咲", 
 "馬嘉伶", 
 "村山彩希", 
 "山内瑞葵", 
 "坂口渚沙", 
 "横山結衣", 
 "谷川聖", 
 "佐藤七海", 
 "御供茉白", 
 "佐藤朱", 
 "伊藤きらら", 
 "岡部麟",
 "本田仁美" ,
 "清水麻璃亜" ,
 "髙橋彩音" ,
 "吉川七瀬" ,
 "小栗有以" ,
 "小田えりな" ,
 "佐藤栞" ,
 "左伴彩佳" ,
 "歌田初夏" ,
 "横道侑里" ,
 "服部有菜" ,
 "野田陽菜乃" ,
 "橋本陽菜" ,
 "平野ひかる" ,
 "長久玲奈" ,
 "髙橋彩香" ,
 "永野芹佳" ,
 "太田奈緒" ,
 "山田菜々美" ,
 "山本瑠香" ,
 "大西桃香" ,
 "濵咲友菜" ,
 "中野郁海" ,
 "奥原妃奈子" ,
 "人見古都音" ,
 "奥本陽菜" ,
 "下尾みう" ,
 "春本ゆき" ,
 "行天優莉奈",
 "高岡薫" ,
 "立仙愛理" ,
 "吉田華恋" ,
 "川原美咲" ,
 "寺田美咲" ,
 "倉野尾成美" ,
 "山田杏華" ,
 "谷口もか" ,
 "藤園麗" ,
 "宮里莉羅" ,
 "梅本和泉" ,
 "黒須遥香" ,
 "佐藤美波" ,
 "庄司なぎさ" ,
 "長友彩海" ,
 "播磨七海" ,
 "本間麻衣" ,
 "道枝咲" ,
 "山根涼羽" ,
 "佐藤詩識" ,
 "古川夏凪" ,
 "本田そら" ,
 "岡田梨奈" ,
 "勝又彩央里" ,
 "小林蘭" ,
 "末永祐月" ,
 "永野恵" ,
 "矢作萌夏" ,
 "大竹ひとみ" ,
 "大盛真歩" ,
 "齋藤陽菜" ,
 "石綿星南" ,
 "蔵本美結" ,
 "多田京加" ,
 "吉橋柚花" ,   
]
columns = ["term", "title","url"]
df = pd.DataFrame(columns=columns)

for member in members:
  print("{}を取得しています".format(member)) #取得できるメンバーを出力します
  params = {"q": member, "count": MAX_RESULTS , "imageType":"Photo", "color":"ColorOnly"}
  search_json = requests.get(URL, headers=headers, params=params).json()
  for json in search_json["value"]:
    name = json["name"]
    url = json["contentUrl"]

さて、このデータをCSVにエクスポートします。

import requests
import pandas as pd

API_KEY = "$ここに取得したAPIキーを追加" 
URL = "https://api.cognitive.microsoft.com/bing/v7.0/images/search" 
headers = {"Ocp-Apim-Subscription-Key" : API_KEY} 
MAX_RESULTS = 100 

members = [ # AKBのメンバーを追加する
 "入山杏奈",
 "加藤玲奈",
 "後藤萌咲",
 "篠崎彩奈",
 "鈴木くるみ",
 "田口愛佳",
 "千葉恵里",
 "西川怜",
 "前田彩佳", 
 "宮崎美穂",
 "向井地美音", 
 "横山由依", 
 "市川愛美",
 "小嶋真子",
 "込山榛香",
 "下口ひなな", 
 "野澤玲奈",
 "藤田奈那",
 "峯岸みなみ", 
 "武藤小麟", 
 "武藤十夢", 
 "茂木忍", 
 "安田叶", 
 "湯本亜美", 
 "岩立沙穂", 
 "大家志津香", 
 "柏木由紀", 
 "北澤早紀", 
 "久保怜音", 
 "佐々木優佳里", 
 "高橋朱里", 
 "田北香世子", 
 "竹内美宥", 
 "谷口めぐ", 
 "中西智代梨", 
 "樋渡結依", 
 "福岡聖菜", 
 "山邊歩夢", 
 "浅井七海", 
 "稲垣香織", 
 "大川莉央", 
 "大森美優", 
 "岡田奈々", 
 "川本紗矢", 
 "佐藤妃星", 
 "達家真姫宝", 
 "田屋美咲", 
 "馬嘉伶", 
 "村山彩希", 
 "山内瑞葵", 
 "坂口渚沙", 
 "横山結衣", 
 "谷川聖", 
 "佐藤七海", 
 "御供茉白", 
 "佐藤朱", 
 "伊藤きらら", 
 "岡部麟",
 "本田仁美" ,
 "清水麻璃亜" ,
 "髙橋彩音" ,
 "吉川七瀬" ,
 "小栗有以" ,
 "小田えりな" ,
 "佐藤栞" ,
 "左伴彩佳" ,
 "歌田初夏" ,
 "横道侑里" ,
 "服部有菜" ,
 "野田陽菜乃" ,
 "橋本陽菜" ,
 "平野ひかる" ,
 "長久玲奈" ,
 "髙橋彩香" ,
 "永野芹佳" ,
 "太田奈緒" ,
 "山田菜々美" ,
 "山本瑠香" ,
 "大西桃香" ,
 "濵咲友菜" ,
 "中野郁海" ,
 "奥原妃奈子" ,
 "人見古都音" ,
 "奥本陽菜" ,
 "下尾みう" ,
 "春本ゆき" ,
 "行天優莉奈",
 "高岡薫" ,
 "立仙愛理" ,
 "吉田華恋" ,
 "川原美咲" ,
 "寺田美咲" ,
 "倉野尾成美" ,
 "山田杏華" ,
 "谷口もか" ,
 "藤園麗" ,
 "宮里莉羅" ,
 "梅本和泉" ,
 "黒須遥香" ,
 "佐藤美波" ,
 "庄司なぎさ" ,
 "長友彩海" ,
 "播磨七海" ,
 "本間麻衣" ,
 "道枝咲" ,
 "山根涼羽" ,
 "佐藤詩識" ,
 "古川夏凪" ,
 "本田そら" ,
 "岡田梨奈" ,
 "勝又彩央里" ,
 "小林蘭" ,
 "末永祐月" ,
 "永野恵" ,
 "矢作萌夏" ,
 "大竹ひとみ" ,
 "大盛真歩" ,
 "齋藤陽菜" ,
 "石綿星南" ,
 "蔵本美結" ,
 "多田京加" ,
 "吉橋柚花" ,   
]
columns = ["term", "title","url"]
df = pd.DataFrame(columns=columns)

for member in members: # membersの中から一人ひとり取り出します。
  print("{}を取得しています".format(member)) #取得できるメンバーを出力します
  params = {"q": member, "count": MAX_RESULTS , "imageType":"Photo", "color":"ColorOnly"}
  search_json = requests.get(URL, headers=headers, params=params).json()
  for json in search_json["value"]:
    name = json["name"]
    url = json["contentUrl"]
    se = pd.Series([term, name,url], columns ) # seriesの追加 
    df = df.append(se, ignore_index=True) # データフレームを更新

最後に、以下のようなスクリプトで、Google ColaboratoryからCSVにエクスポートします。

import requests
import pandas as pd

API_KEY = "$ここに取得したAPIキーを追加" 
URL = "https://api.cognitive.microsoft.com/bing/v7.0/images/search" 
headers = {"Ocp-Apim-Subscription-Key" : API_KEY} 
MAX_RESULTS = 100 

members = [ # AKBのメンバーを追加する
 "入山杏奈",
 "加藤玲奈",
 "後藤萌咲",
 "篠崎彩奈",
 "鈴木くるみ",
 "田口愛佳",
 "千葉恵里",
 "西川怜",
 "前田彩佳", 
 "宮崎美穂",
 "向井地美音", 
 "横山由依", 
 "市川愛美",
 "小嶋真子",
 "込山榛香",
 "下口ひなな", 
 "野澤玲奈",
 "藤田奈那",
 "峯岸みなみ", 
 "武藤小麟", 
 "武藤十夢", 
 "茂木忍", 
 "安田叶", 
 "湯本亜美", 
 "岩立沙穂", 
 "大家志津香", 
 "柏木由紀", 
 "北澤早紀", 
 "久保怜音", 
 "佐々木優佳里", 
 "高橋朱里", 
 "田北香世子", 
 "竹内美宥", 
 "谷口めぐ", 
 "中西智代梨", 
 "樋渡結依", 
 "福岡聖菜", 
 "山邊歩夢", 
 "浅井七海", 
 "稲垣香織", 
 "大川莉央", 
 "大森美優", 
 "岡田奈々", 
 "川本紗矢", 
 "佐藤妃星", 
 "達家真姫宝", 
 "田屋美咲", 
 "馬嘉伶", 
 "村山彩希", 
 "山内瑞葵", 
 "坂口渚沙", 
 "横山結衣", 
 "谷川聖", 
 "佐藤七海", 
 "御供茉白", 
 "佐藤朱", 
 "伊藤きらら", 
 "岡部麟",
 "本田仁美" ,
 "清水麻璃亜" ,
 "髙橋彩音" ,
 "吉川七瀬" ,
 "小栗有以" ,
 "小田えりな" ,
 "佐藤栞" ,
 "左伴彩佳" ,
 "歌田初夏" ,
 "横道侑里" ,
 "服部有菜" ,
 "野田陽菜乃" ,
 "橋本陽菜" ,
 "平野ひかる" ,
 "長久玲奈" ,
 "髙橋彩香" ,
 "永野芹佳" ,
 "太田奈緒" ,
 "山田菜々美" ,
 "山本瑠香" ,
 "大西桃香" ,
 "濵咲友菜" ,
 "中野郁海" ,
 "奥原妃奈子" ,
 "人見古都音" ,
 "奥本陽菜" ,
 "下尾みう" ,
 "春本ゆき" ,
 "行天優莉奈",
 "高岡薫" ,
 "立仙愛理" ,
 "吉田華恋" ,
 "川原美咲" ,
 "寺田美咲" ,
 "倉野尾成美" ,
 "山田杏華" ,
 "谷口もか" ,
 "藤園麗" ,
 "宮里莉羅" ,
 "梅本和泉" ,
 "黒須遥香" ,
 "佐藤美波" ,
 "庄司なぎさ" ,
 "長友彩海" ,
 "播磨七海" ,
 "本間麻衣" ,
 "道枝咲" ,
 "山根涼羽" ,
 "佐藤詩識" ,
 "古川夏凪" ,
 "本田そら" ,
 "岡田梨奈" ,
 "勝又彩央里" ,
 "小林蘭" ,
 "末永祐月" ,
 "永野恵" ,
 "矢作萌夏" ,
 "大竹ひとみ" ,
 "大盛真歩" ,
 "齋藤陽菜" ,
 "石綿星南" ,
 "蔵本美結" ,
 "多田京加" ,
 "吉橋柚花" ,   
]
columns = ["term", "title","url"]
df = pd.DataFrame(columns=columns)

for member in members: # membersの中から一人ひとり取り出します。
  print("{}を取得しています".format(member)) #取得できるメンバーを出力します
  params = {"q": member, "count": MAX_RESULTS , "imageType":"Photo", "color":"ColorOnly"}
  search_json = requests.get(URL, headers=headers, params=params).json()
  for json in search_json["value"]:
    name = json["name"]
    url = json["contentUrl"]
    se = pd.Series([member , name,url], columns ) 
    df = df.append(se, ignore_index=True)

from google.colab import files # Google Colaboratoryを利用している場合のみ使います
filename = "akb.csv" #ファイルネームを指定
df.to_csv(filename) 
files.download(filename) # Google Colaboratoryを利用している場合のみ使います

これでダウンロードができるようになりました!

実際のファイルはこちらから見れますので、ぜひ試してみてくださいね!

Google Colaboratory

ノートをとる

メモが保存されました
メモ一覧を見る