我正在尝试使用python请求为Web抓取创建POST数据

时间:2017-03-24 01:53:58

标签: python python-requests urllib bs4

我有一个表单输入,如:

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

我需要发送post请求,以便通过Python请求获得结果。 我正在使用

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

目前我收到的错误是“无法在控制台中为操作员分配值”。 错误在于创建字典。 你能救我吗?

2 个答案:

答案 0 :(得分:1)

这是代码中的一个小问题。实际上,定义字典的正确方法就是这样。

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

答案 1 :(得分:0)

您应该使用有效的标识符。尝试创建有效负载dict:

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

将您的数据发布为:

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