2011-11-26 11 views
13

किसी भी उत्पाद की जानकारी प्राप्त करने के लिए अमेज़ॅन की वेब सेवा का उपयोग करते समय, औसत ग्राहक रेटिंग (1-5 सितारों) प्राप्त करने का कोई सीधा तरीका है? यहाँ मापदंडों मैं उपयोग कर रहा हूँ कर रहे हैं:अमेज़ॅन उत्पाद विज्ञापन API: औसत ग्राहक रेटिंग प्राप्त करें

Service=AWSECommerceService 
Version=2011-08-01 
Operation=ItemSearch 
SearchIndex=Books 
Title=A Game of Thrones 
ResponseGroup=Large 

मैं इसे 4.5 की एक ग्राहक रेटिंग और 2177. की कुल समीक्षा के लिए लेकिन बजाय मैं जवाब में निम्नलिखित मिल उम्मीद करेंगे।

<CustomerReviews><IFrameURL>http://www.amazon.com/reviews/iframe?...</IFrameURL></CustomerReviews> 

वहाँ एक रास्ता reading the <IFrameURL/> value के लिए इसके अलावा, समग्र ग्राहक रेटिंग प्राप्त करने, समीक्षा की उस पृष्ठ के लिए एक और HTTP अनुरोध है, और फिर HTML scraping स्क्रीन? यह दृष्टिकोण नाजुक है क्योंकि अमेज़ॅन आसानी से समीक्षा पृष्ठ संरचना को बदल सकता है जो मेरे आवेदन को रोक देगा।

उत्तर

4

जहां तक ​​मुझे पता है, अमेज़ॅन ने इसे एपीआई बदल दिया है, इसलिए समीक्षाकर्ता जानकारी प्राप्त करने के लिए अब और संभव नहीं है। आप this Link टिप्पणी sais चेक करते हैं:

8 नवंबर 2010 के रूप में, केवल आइफ्रेम URL अनुरोध सामग्री में दिया जाता है।

हालांकि, अगर आप इफ्रेम प्राप्त करने के लिए उपयोग किए गए पैरा के साथ परीक्षण करते हैं तो ऐसा लगता है कि अब भी इफ्रैम अब काम नहीं कर रहा है। इस प्रकार, अध्याय "नवीनतम ग्राहकों को खरीदने के लिए प्रेरित" अध्याय में नवीनतम एपीआई संदर्भ में भी "समीक्षा" भाग पूरी तरह गायब है।

हालांकि: चूंकि मैं समीक्षाकर्ता जानकारी प्राप्त करने के लिए अभी भी संभव है, लेकिन मुझे भी बहुत दिलचस्पी है - शायद अमेज़ॅन एपीआई का उपयोग नहीं कर रहा है, लेकिन एक प्रतिस्पर्धी एपीआई समीक्षा रैंक सूचनाएं प्राप्त करने के लिए - यदि कोई भी कर सकता है तो मैं एक बक्षीस स्थापित करूंगा उस पर कुछ सहायक प्रदान करें। बाउंटी को दो दिनों में this topic में सेट किया जाएगा।

2

आप आईफ्रेम समीक्षा यूआरएल को पकड़ सकते हैं और फिर इसे स्थिति देने के लिए सीएसएस का उपयोग कर सकते हैं, इसलिए केवल स्टार रेटिंग शो। यह आदर्श नहीं है क्योंकि आपको कच्चा डेटा नहीं मिल रहा है, लेकिन यह आपके पृष्ठ पर रेटिंग जोड़ने का एक आसान तरीका है। कार्रवाई में इस बात का

नमूना - http://spamtech.co.uk/positioning-content-inside-an-iframe/

+0

ठीक है, जो खिड़की से बाहर Google XML स्कीमा के विचार को फेंकता है। मान लीजिए कि मैं क्लाइंट प्रोजेक्ट्स पर रेटिंग मैन्युअल रूप से इनपुट कर दूंगा। – Imperative

0

अमेज़न रेटिंग तक पहुँचने/उनके एपीआई से जानकारी की समीक्षा के लिए पूरी तरह से निकाले समर्थन हासिल है। दस्तावेज़ ग्राहक रेटिंग के रूप में एक प्रतिक्रिया तत्व का उल्लेख करते हैं, लेकिन यह या तो काम नहीं करता है।

गूगल खरीदारी कुछ समीक्षा के लिए Viewpoints और other sources

17

आप यहाँ से खुरच कर सकते हैं का उपयोग कर। आपको जिस चीज की आवश्यकता है उसके साथ आसिन को प्रतिस्थापित करें।

http://www.amazon.com/gp/customer-reviews/widgets/average-customer-review/popover/ref=dpx_acr_pop_?contextId=dpx&asin=B000P0ZSHK

+0

क्या यह आखिरी होगा? उम्मीद है कि यह भविष्य में तोड़ नहीं होगा! – Micro

+0

यदि आप इस तरह के लिंक को स्क्रैप करते हैं तो आपके आईपी को ब्लैकलिस्ट नहीं किया जाएगा? – rockyraw

+0

यह एक संभावित तरीका है, लेकिन केवल कुछ स्क्रैप के लिए। जब आप कई वस्तुओं की तलाश में हैं, तो वह पृष्ठ बॉट को ब्लॉक करने के लिए कैप्चा का अनुरोध करेगा।शायद आपको पहले अमेज़ॅन-एपीआई अनुरोध से आईफ्रेम यूआरएल को स्क्रैप करना होगा – Jokus

2

यहाँ एक VBS स्क्रिप्ट रेटिंग खुरच होता है। नीचे दिए गए कोड को टेक्स्ट फ़ाइल में पेस्ट करें, इसे Test.vbs पर पुनर्नामित करें और विंडोज़ पर चलाने के लिए डबल क्लिक करें।

sAsin = InputBox("What is your ASIN?", "Amazon Standard Identification Number (ASIN)", "B000P0ZSHK") 
if sAsin <> "" Then 
    sHtml = SendData("http://www.amazon.com/gp/customer-reviews/widgets/average-customer-review/popover/ref=dpx_acr_pop_?contextId=dpx&asin=" & sAsin) 
    sRating = ExtractHtml(sHtml, "<span class=""a-size-base a-color-secondary"">(.*?)<\/span>") 
    sReviews = ExtractHtml(sHtml, "<a class=""a-size-small a-link-emphasis"".*?>.*?See all(.*?)<\/a>") 
    MsgBox sRating & vbCrLf & sReviews 
End If 

Function ExtractHtml(sHtml,sPattern) 
    Set oRegExp = New RegExp 
    oRegExp.Pattern = sPattern 
    oRegExp.IgnoreCase = True 
    Set oMatch = oRegExp.Execute(sHtml) 
    If oMatch.Count = 1 Then 
     ExtractHtml = Trim(oMatch.Item(0).SubMatches(0)) 
    End If 
End Function 

Function SendData(sUrl) 
    Dim oHttp 'As XMLHTTP30 
    Set oHttp = CreateObject("Msxml2.XMLHTTP") 
    oHttp.open "GET", sUrl, False 
    oHttp.send 
    SendData = Replace(oHttp.responseText,vbLf,"") 
End Function 
संबंधित मुद्दे