我正在尝试做一些网页抓取,它涉及发送一个带有多选框列表的表单,看起来类似于:
<select name="multipleSelectForm" multiple="multiple" size="5">
<option value="value1">value1</option>
<option value="value2">value2</option>
</select>
现在,我想使用 pycurl 发送 value1 和 value2,例如:
import urllib
import pycurl
c = pycurl.Curl()
data = {'multipleSelectForm':'value1',
'multipleSelectForm':'value2'}
c.setopt(c.URL, 'http://www.example.com')
c.setopt(c.POST, 1)
post = urllib.urlencode(data)
c.setopt(c.POSTFIELDS, post)
c.perform()
现在这个明显的问题是它多次发送 multipleSelectForm 。我很确定请求的页面可能正在寻找一个 multipleSelectForm 数组,而不仅仅是单个变量(这只是一个猜测,我实际上并不确定),因此它收到的 POST 数据不正确。
我尝试使用 Google Chrome 的开发工具来查看它的流量,当我查看表单数据时,它看起来像这样:
multipleSelectForm:value1
multipleSelectForm:value2
如果有人愿意提供帮助,我对如何处理这一切有点迷茫