scrapy.FormRequest的formdata参数,想传入一个value为列表的字典,怎么做?

scrapyFormRequest对象构造一个POST请求,其中formdata参数是一个字典,字典只有一个kv,其中v是一个列表,这个列表里又套了一个字典,怎么将其作为post内容发出去?试了好几种办法,都不到预期的response:

{"user_list":[{"user_id":"A31FA9502C95CC071C6098B49F62B4657A82F2BFCF5D59163A1B9F73D4239CBD","lang":"zh_CN"}]}

requests库的话,这样写就可以得到正确的响应:

user_id = 'A31FA9502C95CC071C6098B49F62B4657A82F2BFCF5D59163A1B9F73D4239CBD'

url = "http://ssl.gongyi.qq.com/cgi-bin/gy_user_extra_display.fcgi"
payload = "{\"user_list\":[{\"user_id\":\"%s\",\"lang\":\"zh_CN\"}]}" % user_id
headers = {
    'User-Agent': "EnterpriseInquiry/2.1.4 (iPhone; iOS 11.2.2; Scale/2.00)",
    'Content-Type': "application/json",
}
r = requests.post(url, data=payload, headers=headers)
阅读 3.3k
2 个回答
新手上路,请多包涵

请问这个问题有解决方案了吗? 我最近也碰到了一样的问题

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进