मैं इस दिन के बेहतर हिस्से के लिए रहा हूं लेकिन कुछ समय के लिए उसी त्रुटि 400 के साथ आ रहा हूं। असल में, एप्लिकेशन का लक्ष्य अमेज़ॅन रेफ़रल यूआरएल से किसी पुस्तक के आईएसबीएन को पार्स करना है और इसे अमेज़ॅन के उत्पाद विज्ञापन API से छवियों को खींचने के लिए संदर्भ कुंजी के रूप में उपयोग करना है। वेबपृष्ठ पायथन 3.4 और Django 1.8 में लिखा गया है। मैंने यहां कुछ समय बिताया और पाइथन-अमेज़ोन-सरल-उत्पाद-एपीआई का उपयोग करने के लिए बस गए क्योंकि यह अमेज़ॅन से पार्सिंग परिणाम थोड़ा आसान बना देगा।पाइथन-अमेज़ॉन-सरल-उत्पाद-एपीआई के साथ त्रुटि 400 पाइथनोनियर
जवाब की तरह: How to use Python Amazon Simple Product API to get price of a product
यह बहुत सरल प्रतीत बनाओ, लेकिन मैं काफी यह एक उत्पाद देखने के लिए सफलतापूर्वक अभी तक नहीं मिला है। यहां पर सही ISBN पहले से ही भरा साथ क्या मेरी विधि आमतौर पर करता है की एक सांत्वना प्रिंटआउट दिया गया है:
>>> from amazon.api import AmazonAPI
>>> access_key='amazon-access-key'
>>> secret ='amazon-secret-key'
>>> assoc ='amazon-associate-account-name'
>>> amazon = AmazonAPI(access_key, secret, assoc)
>>> product = amazon.lookup(ItemId='1632360705')
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/home/tsuko/.virtualenvs/django17/lib/python3.4/site-packages/amazon/api.py", line 161, in lo
okup
response = self.api.ItemLookup(ResponseGroup=ResponseGroup, **kwargs)
File "/home/tsuko/.virtualenvs/django17/lib/python3.4/site-packages/bottlenose/api.py", line 242, i
n __call__
{'api_url': api_url, 'cache_url': cache_url})
File "/home/tsuko/.virtualenvs/django17/lib/python3.4/site-packages/bottlenose/api.py", line 203, i
n _call_api
return urllib2.urlopen(api_request, timeout=self.Timeout)
File "/usr/lib/python3.4/urllib/request.py", line 153, in urlopen
return opener.open(url, data, timeout)
File "/usr/lib/python3.4/urllib/request.py", line 461, in open
response = meth(req, response)
File "/usr/lib/python3.4/urllib/request.py", line 571, in http_response
'http', request, response, code, msg, hdrs)
File "/usr/lib/python3.4/urllib/request.py", line 499, in error
return self._call_chain(*args)
File "/usr/lib/python3.4/urllib/request.py", line 433, in _call_chain
result = func(*args)
File "/usr/lib/python3.4/urllib/request.py", line 579, in http_error_default
raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 400: Bad Request
अब मुझे लगता है कि मैं उत्सुक हूँ अगर यह PythonAnywhere के साथ कुछ मोड़ है, या अगर मैं नहीं छूटा है एक विन्यास में स्थापित करने Django? जहां तक मैं एडब्ल्यूएस और अमेज़ॅन एसोसिएट्स पेज के माध्यम से बता सकता हूं कि मेरी चाबियां सही हैं। मैं इस बिंदु पर पार्सिंग के बारे में बहुत चिंतित नहीं हूं, बस वस्तु प्राप्त कर रहा हूं। मैंने एपीआई को बाईपास करने और बस बोटलोज़ (जिसे एपीआई विस्तारित करता है) का उपयोग करने का प्रयास किया है, लेकिन मुझे एक ही त्रुटि 400 परिणाम मिलती है।
मैं वास्तव में Django और अमेज़ॅन के एपीआई के लिए नया हूं, किसी भी सहायता की सराहना की जाएगी!
पर जा सकते हैं अमेज़ॅन आपको 'खराब अनुरोध' त्रुटि के साथ जवाब दे रहा है। मतलब, आप शायद गलत जानकारी भेज रहे हैं। अपनी चाबियाँ आदि को दोबारा जांचें ... – Incognos