2016-11-03 2 views
1

Ich habe versucht, die Bewertungen Informationen mit dem Skript in dieser link gegeben. Ich konnte für eine einzige Seite bekommen. Gibt es eine Möglichkeit, es für mehrere Seiten zu erhalten. Im Folgenden ist der Code:Python - mit den Parametern von Flipkart API

import requests 

data = {"productId": "MOBEG4XWJG7F9A6Z", # end of url pid=MOBEG4XWJG7F9A6Z 
     "count": "15", 
     "ratings": "ALL", 
     "reviewerType:ALL" 
     "sortOrder": "MOST_HELPFUL"} 

headers = ({"x-user-agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.92 Safari/537.36 FKUA/website/41/website/Desktop"}) 
data = requests.get("https://www.flipkart.com/api/3/product/reviews", params=data, headers=headers).json() 

ich die Parameter versucht, wie folgt zu ändern:

data = {"productId": "MOBEG4XWJG7F9A6Z", # end of url pid=MOBEG4XWJG7F9A6Z 
     "count": "15", 
     "ratings": "ALL", 
     "reviewerType:ALL" 
     "sortOrder": "MOST_HELPFUL", 
     "page": "2"} 

Aber ich bin der gleichen vorherigen Bewertungen bekommen. Ich versuchte, den URL-Pfad mit dem folgenden Befehl zu erhalten:

data.request.path_url 

und als ich versuchte, die erhaltene URL in den Browser einfügen seine ein Fehler zurückgegeben. Gibt es eine Möglichkeit zu finden, welcher Parameter verwendet wird, um die Seitenzahlen zu iterieren. Bitte helfen. Ich bin

Python

Antwort

1

Es ist der start Parameter, der die aktuelle Seite steuert:

data = {"productId": "MOBEG4XWJG7F9A6Z", # end of url pid=MOBEG4XWJG7F9A6Z 
     "count": "15", 
     "ratings": "ALL", 
     "reviewerType": "ALL" 
     "sortOrder": "MOST_HELPFUL", 
     "start": "15"} # page number 2 
+0

perfekt funktioniert viel .. Danke. Ich habe einen kleinen Zweifel, wie haben Sie festgestellt, dass der Parameter "Start" ist? Könnten Sie mir bitte Bescheid geben, damit ich es auch verstehe. Danke noch einmal. – Jeril

+1

@Jeril es ist nur im Grunde ein Offset von Anfang an und kann als "count * page_number" verallgemeinert werden, wobei 'page_number' von 0 beginnt. Mit anderen Worten, für die 'count = 15' würde Ihre erste Seite start = 0 haben, zweitens: start = 15, drittes: start = 30 etc..hoffe das hilft. – alecxe

+0

Vielen Dank @alecxe ... Du bist großartig ... – Jeril

Verwandte Themen