2017-03-24 2 views
1

私のようなフォーム入力持っているウェブのpythonの要求を使用して掻き取るためのPOSTデータを作成しようとしています:は私が

<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>

を私は

payload = dict(field_RecordingDateID-StartDate = "10-08-2016", 
    field_RecordingDateID-EndDate ="12-08-2016") 
として辞書を作成しようとしています

そして、私はPythonの要求を通して結果を得ることができるように投稿要求を送る必要があります。 私は、コンソールの「オペレーターに値を割り当てできません」と現在、私はエラーを取得しています

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

を使用しています。 辞書の作成中にエラーが発生しました。 私を助けることができますか?

+0

どのようにフォームデータを取得していますか? – bernie

+0

フォームデータは以下の通りです:field_RecordingDateID_StartDate:2017-03-01 field_RecordingDateID_EndDate:2017-03-20 –

答えて

1

としてペイロード辞書を作成してみてください。実際に辞書を定義する正しい方法は、このようになります。

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

はい、うまくいきました。私は問題を作成していたdict()関数に従っていました。私はこの方法を試していません。おかげで –

+0

これは正常です。私は何度も小さな間違いをします。 –

0

有効な識別子を使用する必要があります。

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

として、あなたのデータをポスト::それはあなたのコード内の小さな問題である

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

こんにちは、私には何の結果も与えていません。 –