Python:如何构建具有多个滑动字符串的字典

标签 python parsing dictionary html-parsing mechanize

在我的管理页面中,我有一个用户名和 ID 列表。我正在尝试构建一本字典,以便稍后使用它来自动化一些工作。 我构建的代码是:

def nameID_tag(src):
    nameID = {}
    try:
        id = src.split('<option value="')[1].split('" >')[0]
        names = src.split(id+'\" >')[1].split('</option>')[0]
        nameID[names] = id
    except:
        print "Could not retrieve data."
    return nameID

HTML 代码:

<option value="1" >admin</option>
<option value="2" >viktor</option>
<option value="3" >ana</option>

然后我称之为:

s=br.open(url).read()
nameID_tag(s)

它对于 1 个用户来说工作正常,但不知道如何获取所有用户+id 并构建字典。

最佳答案

现在,我对正则表达式很不擅长。所以可能有更好的方法来做到这一点。但这似乎有效

import re

IDs = re.findall('(?<=<option value=")\w+', html)
names = re.findall('(?<=>)\w+(?=</option>)', html)
nameID =  dict(zip(IDs,names))

关于Python:如何构建具有多个滑动字符串的字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20472484/

相关文章:

python - Matplotlib 小刻度线

python - 有没有关于 python-purple 的例子?

python - Python 字典的内存高效 HashMap 替代方案(整数到整数)

python - 在琶音中实现节点变压器

java - 如何将 String 变量解析为 Java 中的任何数据类型?

parsing - 使用 sed 或 awk 将当前字段/列解析为同一行上的其他字段/列

python - 将列表字典写入 csv,指定列顺序

python - 将字典转换为 Pandas 数据框

python - 在 Python 中将来自两个不同字典的值相乘

python - 如何在 urllib 中捕获 404 错误? ( python 3)