2017-03-24 4 views
1

Ich habe ein Formular-Eingang wie zu erstellen:Ich versuche POST-Daten für Web-Schaben mit Python-Anfragen

<PRE> 
 
<FORM> 
 
<INPUT name="field_RecordingDateID-StartDate" id="field_RecordingDateID-StartDate" placeholder="mm/dd/yyyy" type="date" value=""> 
 
<INPUT name="field_RecordingDateID-EndDate" id="field_RecordingDateID-EndDate" placeholder="mm/dd/yyyy" type="date" value=""> 
 
<input type="submit" value="search"> 
 
</FORM> 
 
</PRE>

Ich versuche Wörterbuch als

payload = dict(field_RecordingDateID-StartDate = "10-08-2016", 
    field_RecordingDateID-EndDate ="12-08-2016") 
zu erstellen

Und ich muss Post-Anfrage senden, so dass ich das Ergebnis über Python-Anfragen erhalten kann. Ich bin mit

r = requests.get(url,data=payload) 

Derzeit ich Störung erhalte als ‚nicht den Wert Operator zugewiesen Kann‘ in der Konsole. Der Fehler liegt beim Erstellen eines Wörterbuchs. Können Sie mir helfen?

+0

Wie erhalten Sie die Formulardaten? – bernie

+0

Formulardaten sind: field_RecordingDateID_StartDate: 2017-03-01 field_RecordingDateID_EndDate: 2017-03-20 –

Antwort

1

Es ist ein kleines Problem in Ihrem Code. Eigentlich ist die richtige Art, ein Wörterbuch zu definieren, so.

payload = {"field_RecordingDateID-StartDate" :"10-08-2016", 
           "field_RecordingDateID-EndDate" :"12-08-2016"} 
+1

ja, es hat funktioniert. Ich folgte der dict() - Funktion, die ein Problem verursachte. Ich habe es nicht versucht. Danke –

+0

Es ist normal. Ich mache viele kleine Fehler. –

0

Sie sollten eine gültige Kennung verwenden. Versuchen Nutzlast dict wie zu erstellen:

StartDate = 'field_RecordingDateID-StartDate' 
EndDate = 'field_RecordingDateID-EndDate' 
payload = dict(StartDate = '10-08-2016', EndDate = '12-08-2016') 

und posten Sie Ihre Daten als:

r = requests.post(url,data=payload) 
+0

Hallo, es gibt mir kein Ergebnis –