LoginSignup
20
21

More than 5 years have passed since last update.

bing search apiの使い方

Last updated at Posted at 2012-12-12

制約

使い方

  • Microsoftアカウントを作成し、APIKEYを取得
  • API KEYはエンドポイントに対するbasic認証で用いる
  • ユーザ名・パスワード共にAPI KEY
  • パラメータに$を含むものがあり、encodeしてしまうとアクセスできない
  • なぜかurllibを使ったアクセスでは400 bad requestになってしまった
  • stack overflow等でも同様の現象が確認でき、解決策としてrequestsモジュールを用いることが推奨されている。理由はよくわからない
  • クエリはシングルコーテーションで囲まないと認識されない
  • 返り値の__nextに入るURLから$formatが消えるので注意
  • 検索件数は取得できないよう
  • skipは1000までしか指定できない模様。topは50がMAXなので1050件までしか取得できない

サンプルコード

bingsearch.py
#! /usr/bin/python
# -*- coding:utf-8 -*-

import urllib
import requests
import json
NUM = 100
key = '' #api keyを入れる
url = 'https://api.datamarket.azure.com/Bing/Search/Web?'
json_param = '&$format=json'
param = {
    'Query':"''", #クエリを入れる    
}
req_url = url + urllib.urlencode(param)

for i in range(0,NUM):
    r = requests.get(req_url + json_param,auth=(key,key)).json
    print json.dumps(r)
    req_url = r['d']['__next']

20
21
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
20
21