【问题标题】:I am trying to create POST data for web scraping using python requests我正在尝试使用 python 请求创建用于网络抓取的 POST 数据
【发布时间】:2017-03-24 01:53:58
【问题描述】:

我有一个表单输入,例如:

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

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

【问题讨论】:

  • 如何获取表单数据?
  • 表单数据为:field_RecordingDateID_StartDate:2017-03-01 field_RecordingDateID_EndDate:2017-03-20

标签: python python-requests urllib bs4


【解决方案1】:

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

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

【讨论】:

  • 是的,它的工作。我正在关注产生问题的 dict() 函数。我没有尝试过这种方式。谢谢
【解决方案2】:

您应该使用有效的标识符。尝试将有效负载字典创建为:

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

并将您的数据发布为:

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

【讨论】:

  • 嗨,它没有给我任何结果
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-06-26
相关资源
最近更新 更多