Hello_Lindo 2017-08-27 17:31 采纳率: 0%
浏览 1989

python3的request怎么post同名的多个不同数值的数据

谢谢各位大牛进来解答,小新人非常感谢!
我想用request的提交方式post数据,但是我要post的数据是有同名多个数值的,请问应该怎么写代码呢?
我用Firefox的firebug插件查到post的数据是{“time”:"XXXXXX","time":"XXXXXX"},因为网页里原本是个申请表单,申请的时间段是个多选框,因此会有多个需要使用同名提交的不同数据。
我在网上找了好多都没有找到解决办法,只好来请教各位大神了。
下面是我写的代码,表单要提交的别的数据和网址我就去掉了,因为要登录什么的。。。
再次感谢!!!!

 # -*- encoding="utf-8" -*-
#!/etc/bin/env python3
import sys,msvcrt
from http import cookiejar
from urllib import request,error,parse
import re
time = ["8点-8点30分","8点30分-9点","9点-9点30分","9点30分-10点",\
        "10点-10点30分","10点30分-11点","11点-11点30分","11点30分-12点",\
        "12点-12点30分","12点30分-13点","13点-13点30分","13点30分-14点",\
        "14点-14点30分","14点30分-15点","15点-15点30分","15点30分-16点",\
        "16点-16点30分","16点30分-17点","17点-17点30分","17点30分-18点",\
        "18点-18点30分","18点30分-19点","19点-19点30分","19点30分-20点",\
        "20点-20点30分","20点30分-21点","21点-21点30分","21点30分-22点",\
        "22点-22点30分","22点30分-23点"]
for i in range(len(time)):
    if i%3==0:
        print ('')
    print ("【" +str(i+1)+ "】" + time[i]+"      ", end = '')
n = input("请问需要输入几个时间点?(1-30) ")
n = int(n)
time_list = []
i = 0
while i<n:
    j = input("请输入第"+str(i+1)+"个时间点: ")
    j = int(j)
    j = j-1
    time_list.append(time[j])
    i = i+1
url=""
cookies= cookiejar.MozillaCookieJar()
handler = request.HTTPCookieProcessor(cookies)
headers={"User-Agent":"Mozilla/5.0"}
opener = request.build_opener(handler)
opener.open(url)
for item in cookies:
    if "csrftoken" == item.name:
        csrftoken= item.value
req=request.Request(url,data,headers)
res=opener.open(req)

  • 写回答

2条回答

  • 连小胖 2017-08-28 00:40
    关注

    你可以用抓包工具,用浏览器登陆一次,看看数据是怎么post提交的,然后代码也用一样的方式格式提交应该就可以了

    评论

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器