2015-11-14 33 views
6

this Yelp tutorial'den ilham alarak, belirli bir şehirde tüm spor salonlarını aramak için bir senaryo hazırladım. Ben sadece ilk 20 değil, ALL spor salonları dönmek için these updates ile betik tweaked. Sen gübre here bulabilirsiniz. SEARCH_LIMIT değeri 20'dir. Hata İletisi hatasıyla karşılaşıyorum. Yelp Eğitimi'ni çok yakından takip ettim ve bunun ne olabileceğinden emin değilim - Talebimin düzgün bir şekilde kodlandığından ve API anahtarlarımın doğru olduğundan eminim.Üzgünüz, Yelp API'sından

dışarı baskı altındadır:

siz konumunu kodlanmış olduğunuz özünden olarak
'term': term.replace(' ', '+'), 
'location': location.replace(' ', '+'), 

: boşluk değişen 'New York, NY', + için

Traceback (most recent call last): 
    File "YelpSearch.py", line 97, in <module> 
    query_api() 
    File "YelpSearch.py", line 74, in query_api 
    response = search_yelp(offset) 
    File "YelpSearch.py", line 67, in search_yelp 
    return request(API_HOST, SEARCH_PATH, url_params=url_params) 
    File "YelpSearch.py", line 53, in request 
    conn = urllib2.urlopen(signed_url, None) 
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 127, in urlopen 
    return _opener.open(url, data, timeout) 
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 410, in open 
    response = meth(req, response) 
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 523, in http_response 
    'http', request, response, code, msg, hdrs) 
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 448, in error 
    return self._call_chain(*args) 
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 382, in _call_chain 
    result = func(*args) 
    File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 531, in http_error_default 
    raise HTTPError(req.get_full_url(), code, msg, hdrs, fp) 
urllib2.HTTPError: HTTP Error 400: Bad Request 

cevap

1

örnekte arama parametreler onlar + işareti boşlukların yerine yardım etmelisin.

+0

Bu hiçbir şeyi değiştirmiyor – NumenorForLife

1

Yelp API'de sınırlamalar var. Her istek için en fazla 20 ürün alabilirsiniz. Ayrıca, erişilebilir öğelerin miktarı 1000'dir. documentation'da sınırlamalar hakkında bilgi bulamıyorum. Ancak, support group'da bu sınırlamalar hakkında bilgi buldum. Buna bağlı olarak 50 istek için maksimum 1000 ürün alabilirsiniz ([1, ..., 20], [21, ..., 40], ... [981, ..., 1000])

Snippet'inizle ilgili olarak 1000'den fazla ürün almaya çalışıyorsunuz. Limit ve ofset parametrelerinizi öğrendim. limit = 3, offset = 1000. 1001'den 1003'e kadar eşya almak istediğiniz anlamına gelir. Ve bu belgelerle çelişir.

HTTP Error 400: Bad Request Eğer yukarıdaki gibi yanıtı görecektir tarayıcıda son signed_url açarsanız, yanıtların

{ 
    error: { 
    field: "offset", 
    description: "The maximum number of accessible results is 1000", 
    id: "INVALID_PARAMETER", 
    text: "One or more parameters are invalid in request" 
    } 
} 

almak anlamına gelir. Ayrıca, Yanıt Durum Kodunun 400 Bad Request olduğunu göreceksiniz.

+0

Ondan sonra nasıl düzeltmeyi önerirsiniz? – NumenorForLife

+0

Taraftarlar hakkında ne düşünüyorsunuz? Bence sana yardım edebilirler. –

+0

Anlamıyorum – NumenorForLife