从字典中随机选择代理使用

时间:2013-08-23 13:52:33

标签: python python-2.7 random dictionary proxy

通过以下数据,我如何随机选择一个字典项并同时拉出xtest和yblob?

{"xtest": "yblob", "xtest1": "yblob1", "xtest2": "yblob2", "xtest3": "yblob3", "xtest4": "yblob4", "None": "None"}

我想将它与某些代理结合使用,所以理想情况下我需要这样的东西:

.ProxyHandler({"http":"{x}:{y}"})

这将根据从顶部的dict中选择的随机选择自动输入,但是如果它找到字典项"None": "None"那么它就不会使用代理,所以实际上我需要两个变量:

x = xdict
y = ydict

任何人都有任何指示或想法,我们将不胜感激。

亲切的问候,AEA

2 个答案:

答案 0 :(得分:2)

所以在这里,我使用randint从原始词典中选择一个元素 - 名为dd

>>> import random
>>> dd = {"xtest": "yblob", "xtest1": "yblob1", "xtest2": "yblob2", "xtest3": "yblob3", "xtest4": "yblob4", "None": "None"}
>>> k = dd.keys()[random.randint(0, len(dd))]
>>> v = dd[k]
>>> k, v
('xtest3', 'yblob3')

答案 1 :(得分:2)

以下代码段应该可以实现您的目标:

import random
d = {"xtest": "yblob", "xtest1": "yblob1", "xtest2": "yblob2", "xtest3": "yblob3", "xtest4": "yblob4", "None": "None"}

#choose a random x
x = random.choice(d.keys())
if x == "None":
    proxy = None
else:
   y = d[x]
   proxy = {"http": "%s:%s" % (x, y)}