为一个名称 urllib2 发送多个值

2024-01-01

我正在尝试提交一个包含复选框的网页,并且我最多需要选中其中 10 个复选框

问题是当我尝试将它们分配给字典中的一个名称时,它只分配最后一个而不是全部 10 个

那么我该如何做到这一点,这里是请求代码:

forms = {"_ref_ck": ref,
         "type": "create",
         "selected_items[]": sel_itms[0],
         "selected_items[]": sel_itms[1],
         "selected_items[]": sel_itms[2],
         "selected_items[]": sel_itms[3],
         "selected_items[]": sel_itms[4],
         "selected_items[]": sel_itms[5],
         "selected_items[]": sel_itms[6],
         "selected_items[]": sel_itms[7],
         "selected_items[]": sel_itms[8],
         "selected_items[]": sel_itms[9]

         }
data = urllib.urlencode(forms)
req = urllib2.Request('http://www.neopets.com/island/process_tradingpost.phtml',data)
res = self.opener.open(req)
html =  res.read()

这可行,但我只发送一个值"selected_itmes[]"当我查看网络调试代理中的实际请求时,它会发送多个值"selected_items[]"但我不知道如何用 python 做到这一点

请帮忙谢谢!!


问题与以下无关urlencode; Python 字典不能保存同一个键的多个值。你可以通过以下方式看到这个printing out forms在发送之前——那里只有一个值selected_items[]。该值可以很好地编码。

As 文档 http://docs.python.org/2/library/urllib.html#urllib.urlencode解释说,有两种方法可以解决这个问题。

首先,您可以将一系列值附加到一个键,然后使用doseq=True flag:

forms = {"_ref_ck": ref,
     "type": "create",
     "selected_items[]": sel_itms[:10]
     }
 data = urllib.urlencode(forms, doseq=True)

或者,您可以传递二元素元组序列而不是映射:

forms = (("_ref_ck", ref),
         ("type", "create"),
         ("selected_items[]", sel_itms[0]),
         ("selected_items[]", sel_itms[1]),
         # ...
         )
data = urllib.urlencode(forms)

(您也可以使用自定义Mapping允许重复键的类型,而不是标准的dict,但这可能有点过分了。特别是因为构建这种自定义的通常方法Mapping类型是通过向其传递一系列键值对......)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为一个名称 urllib2 发送多个值 的相关文章

  • 按多个键分组并对字典列表的值进行汇总/平均值

    在Python中按多个键进行分组并对字典列表进行汇总 平均值的最Pythonic方法是什么 假设我有一个字典列表 如下所示 input dept 001 sku foo transId uniqueId1 qty 100 dept 001
  • 如何使用 PyMongo 在重复键错误后继续插入

    如果我需要在 MongoDB 中插入尚不存在的文档 db stock update one document set document upsert True 将完成这项工作 如果我错了 请随时纠正我 但是 如果我有一个文档列表并想将它们全
  • Python 3在for循环中更改字典键的值不起作用

    我的 python 3 代码没有按预期工作 def addFunc x y print x y def subABC x y z print x y z def doublePower base exp print 2 base exp d
  • Pandas groupby apply 执行缓慢

    我正在开发一个涉及大量数据的程序 我正在使用 python pandas 模块来查找数据中的错误 这通常工作得非常快 然而 我当前编写的这段代码似乎比应有的速度慢得多 我正在寻找一种方法来加快速度 为了让你们正确测试它 我上传了一段相当大的
  • 更改 CSS 网格中的列顺序

    我正在研究 CSS 网格 当我在桌面尺寸上查看它时 min width 769px 我有单行三列 像这样的事情 col 1 col 2 col 3 我可以使用 css grid 移动列 以便我可以在移动布局上执行类似以下操作吗 col 1
  • 当表格在 IE 中获得焦点时,表格滚动条会向上跳跃

    问题 我有一个table有包装的div with overflow y auto 一旦table获得焦点 滚动条向上跳 我怎样才能防止这种情况发生 我经历过这种行为IE9 不在 Chrome 中 请注意 我已添加tabindex到桌子上 以
  • 414 请求 URI 太大错误 Google 地图 v3

    当我调用构造函数来创建具有超过 15 个不同 KMZ 文件的新 KmlLayer 时 似乎会发生此错误 构造函数的调用是 var layer new google maps KmlLayer http 我每次都可以使用 15 个不同的 KM
  • PyArmor - 打包为一个可执行文件

    当我执行此命令时 您好 使用 PyArmor pyarmor pack main py 它将它打包到一个名为的文件夹中dist里面包含我的 exe 以及许多 Python 扩展文件 据我所知 PyArmor 使用 PyInstaller 来
  • 将列表中的 None 替换为最左边的非 none 值

    Given a None 1 2 3 None 4 None None I d like a None 1 2 3 3 4 4 4 目前我已经用以下方法强制它 def replaceNoneWithLeftmost val last Non
  • 为什么 __instancecheck__ 没有被调用?

    我有以下 python3 代码 class BaseTypeClass type def new cls name bases namespace kwd result type new cls name bases namespace p
  • 用于多个窗口的 Tkinter 示例代码,为什么按钮无法正确加载?

    我正在编写一个程序 应该 按一下按钮即可打开一个窗口 按另一个按钮关闭新打开的窗口 我使用类 以便稍后可以将代码插入到更大的程序中 但是 我无法正确加载按钮 import tkinter as tk class Demo1 tk Frame
  • 大型应用的回流/布局性能

    我正在使用 GWT 构建一个 HTML 应用程序 其性能总体上是正确的 有时 它会加载 DOM 中的许多对象 并且应用程序会变得很慢 我使用 Chrome 开发者工具分析器来查看时间花在哪里 在 Chrome 下 一旦应用程序被编译 即没有
  • 更新 SQLAlchemy 中的特定行

    我将 SQLAlchemy 与 python 一起使用 我想更新表中等于此查询的特定行 UPDATE User SET name user WHERE id 3 我通过 sql alchemy 编写了这段代码 但它不起作用 session
  • Pip 无法在 Windows 上安装 Twisted

    我正在尝试在 Windows 8 计算机上安装 Twisted 在 Twisted 官方网站上 只有一个 Windows 版的 Wheel 文件 https twistedmatrix com trac wiki Downloads htt
  • 如何更改matplotlib中双头注释的头大小?

    Below figure shows the plot of which arrow head is very small 我尝试了下面的代码 但它不起作用 它说 引发 AttributeError 未知属性 s k 属性错误 未知属性头宽
  • 如何从 nltk 下载器中删除数据/模型?

    我在 python3 NLTK 中安装了一些 NLTK 包 通过nltk download 尝试过它们 但不需要它们 现在想删除它们 我怎样才能删除例如包large grammars来自我的 NLTK 安装 我不想删除完整的 NLTK 安装
  • window.open 使用 css 样式

    我想设计我的 window open 目前 我的网页上有一些项目由于解析了某个类而打开 然后在新窗口中打开指定的文本 我想更改字体大小 字体和填充等 这是我的 JavaScript 代码
  • Java/Python 中的快速 IPC/Socket 通信

    我的应用程序中需要两个进程 Java 和 Python 进行通信 我注意到套接字通信占用了 93 的运行时间 为什么通讯这么慢 我应该寻找套接字通信的替代方案还是可以使其更快 更新 我发现了一个简单的修复方法 由于某些未知原因 缓冲输出流似
  • 使用 SERVER_NAME 时出现 Flask 404

    在我的 Flask 配置中 我将 SERVER NAME 设置为 app example com 之类的域 我这样做是因为我需要使用url for with external网址 如果未设置 SERVER NAME Flask 会认为服务器
  • 角度 ng-repeat 根据条件添加样式

    我在 div 列表上使用 ng repeat 并且在渲染此 div 的 json 中手动添加项目 我需要定位我在 json 中添加的最后一个 div 它会自动在屏幕上渲染 即 couse 光标所在的位置 其余部分保持在相同位置 但没有给出渲

随机推荐

  • 以百分比形式显示会话的 Oracle CPU 使用率

    以下脚本返回活动会话的 CPU 使用情况 结果显示 CPU 使用率 以秒为单位 我需要的是相同的报告 其中包含 CPU 使用率百分比 做这个的最好方式是什么 Show CPU Usage for Active Sessions SET PA
  • 以编程方式转储调用堆栈

    寻找一种方法 在遇到一段代码时以编程方式转储调用堆栈和 net Win Forms 应用程序 这是我以前从未遇到过的东西 但会节省我一些调试时间 更新 忘记添加 这会给应用程序增加多少开销 即它会大大减慢应用程序的速度 System Env
  • 设置 WH_KEYBOARD 挂钩失败并出现错误 1428

    这是我的 C 代码 include
  • 如何获取显示引用的 C# 库的 XML 文档?

    假设您有一个包含多个函数的 C 库 所有函数都使用通常的文档记录
  • ghci 未从文件加载函数

    在 test hs 中 我有 doubleMe x x x 在 ghci 中 我输入 Prelude gt l test 1 of 1 Compiling Main test hs interpreted Ok modules loaded
  • 预处理 SHA256 Python 实现

    我正在维基百科上完成 SHA256 的实现 但遇到了困难 我刚刚尝试编写消息预处理的代码 最终消息的长度是 504 位 而不是所需的 512 位 维基百科 SHA256 http en wikipedia org wiki SHA 2 预处
  • 从 Google Play 删除未发布的应用

    我在我的 Google Play 帐户中创建了一个新应用程序 我没有发表还没完成 它刚刚准备好发布 由于它尚未发布 有什么方法可以将其从我的帐户中永久删除吗 我找不到任何删除或删除按钮 我读here https stackoverflow
  • 在 iOS 中集成 Google 和 Facebook 登录 - AppDelegate openURL

    我正在尝试将 facebook 和 google 登录集成到我的应用程序中 但遇到了问题 两者都需要将以下内容添加到 Appdelegate 中的 openURL 方法中 return GIDSignIn sharedInstance ha
  • 为什么 `print(object)` 显示 `<__main__.对象位于 0x02C08790>`?

    我不断得到 lt main Camera object at 0x02C08790 gt 我不知道为什么 我希望代码基本上在一个循环中从 Calc Speed 转到 Counter 然后返回到 Calc Speed class Camera
  • MSBuild:如何为 Web 部署项目(VS2010)构建 Web 部署包?

    我将一个网站项目 带有 Web 部署项目 从 VS2008 迁移到 VS2010 现在我可以在 VS2010 中为 Web 部署项目制作 构建部署包 效果非常好 但我找不到通过 MSBuild 执行相同操作的方法 我回答我的一个问题 经过大
  • COM 字符串 (BSTR) 和 .NET 字符串有什么区别?

    这只是字节组合来 编码 数据的方式吗 我很好奇 因为我想知道 RCW 如何自动获取 NET 字符串并将其转换为 COM BSTR 我猜测它只是形成了从 NET 字符串转换而来的有效 COM BSTR 相关 我可以使用 NET 中的字节类型构
  • 从上下文资产中的 Uri 加载 MediaPlayer

    我的资产目录中有一个音频文件 资产 音频 dance mp3 如果我运行 context getAssets list audio 它出现了 但是当我尝试使用 MediaPlayer create context uri 时它总是失败并返回
  • 安装适用于 Python 的 TextBlob 时遇到问题

    我是编程新手 我正在尝试安装 Python 的 TextBlob 库来帮助我做一些事情 遗憾的是 我在安装 TextBlob 时遇到了麻烦 更不用说使用它了 我使用的是Windows 这似乎让事情变得更加困难 我希望我可以只运行 Linux
  • StructureMap 和嵌套泛型

    我想知道是否有一种方法可以在其中连接嵌套泛型StructureMap无需指定内部类型或创建特定于类型的接口 我意识到这有点令人困惑 因此编码示例可能是对我正在寻找的功能的更好解释 public interface IParser
  • 使用 jQuery 切换元素的属性?

    使用 jQuery 构建树形菜单 并且我希望它可以访问 因此我使用 aria 属性 我想要做的是在单击 输入时将 aria expanded 属性从 true 切换为 false 我已经尝试过 但显然不正确 this closest ul
  • 下拉列表中的地图位置名称

    我的应用程序必须使用文本框集成搜索位置名称 Map kit有什么方法可以实现这种功能吗 下图显示了我真正需要的 No MapKit没有任何方法来实现这种类型的属性 为此 您必须实现自己的代码 即使用 UISearchbarCantrolle
  • 为什么鱼绑定在 mac os 中不起作用?

    我正在尝试使用一些鱼绑定 但无法让它们在我的 Apple sierra 中同时使用 iterm2 和终端工作 例如 当我使用Alt d它应该删除一个单词 它插入了字母 我在这里错过了什么吗 您需要将终端配置为将 option alt 键视为
  • 不能在赋值中使用类型 interface {} 作为类型 person:需要类型断言

    我尝试转换interface 构造person package main import encoding json fmt func FromJson jsonSrc string interface var obj interface j
  • 更新后Android资源编译失败

    更新 android studio 后 我的项目崩溃并出现以下错误 Android resource compilation failed Output C Users aliya Desktop EventsToday app build
  • 为一个名称 urllib2 发送多个值

    我正在尝试提交一个包含复选框的网页 并且我最多需要选中其中 10 个复选框 问题是当我尝试将它们分配给字典中的一个名称时 它只分配最后一个而不是全部 10 个 那么我该如何做到这一点 这里是请求代码 forms ref ck ref typ