我想通过在冒号处分割每个代理来添加每个代理,然后添加到列表中。我需要做的一件事是,然后将冒号加回到4个列表索引的前3个末尾,我无法执行此操作,因为在进行测试以确保它可以编译时,我得到此错误,lists index out of range.
所以我认为可以也许它们都被追加到列表中的一个字符串中,所以我做了一个打印语句,我看到了,[['fa8tUVQ.usa.unknownproxies.com', '10000', 'mferraro2304', 'o3VXtvjHpWr4\n']]
是否有可能使双括号弄乱了?如果是这样,我该如何删除它,然后继续重新添加冒号?这是我的代码:
for lines in ordered_proxies:
pvar = lines.split(':') # rotating proxy or host
pvars.append(pvar)
print(pvars)
PROXY_HOST = pvars[0]
PROXY_PORT = pvars[1]
PROXY_USER = pvars[2]
PROXY_PASS = pvars[3]
manifest_json = """
{
"version": "1.0.0",
"manifest_version": 2,
"name": "Chrome Proxy",
"permissions": [
"proxy",
"tabs",
"unlimitedStorage",
"storage",
"<all_urls>",
"webRequest",
"webRequestBlocking"
],
"background": {
"scripts": ["background.js"]
},
"minimum_chrome_version":"22.0.0"
}
"""
background_js = """
var config = {
mode: "fixed_servers",
rules: {
singleProxy: {
scheme: "http",
host: "%s",
port: parseInt(%s)
},
bypassList: ["localhost"]
}
};
chrome.proxy.settings.set({value: config, scope: "regular"}, function() {});
function callbackFn(details) {
return {
authCredentials: {
username: "%s",
password: "%s"
}
};
}
chrome.webRequest.onAuthRequired.addListener(
callbackFn,
{urls: ["<all_urls>"]},
['blocking']
);
""" % (PROXY_HOST, PROXY_PORT, PROXY_USER, PROXY_PASS)
get_chromedriver()
答案 0 :(得分:0)
我将假定pvars是一个列表,并且我假设ordered_proxies是某种具有多行的集合,例如一个文件。这是你在做什么:
您正在遍历ordered_proxies的行。您正在拆分每一行。函数“ split”返回一个列表,您将其追加到pvars。因此,当循环结束时,pvars是一个复杂的数据结构:它是一个列表列表。
pvars [0]是拆分有序代理的第一行时得到的字符串列表。 pvars [0]的长度等于第一行中用冒号分隔的项目数。
pvars [1]是在拆分ordered_proxies的第二行时得到的字符串列表。
pvars的长度是ordered_proxies中的行数。
print语句告诉您pvars是一个包含一个列表(由内部方括号定界)的列表(这是外部方括号的含义)。双方括号没有“弄乱”任何东西;告诉您pvars的长度为1,并且它的唯一元素是四项列表。
尝试访问pvars中的第二个元素pvars [1]时会出错,因为pvars没有第二个元素。
我无法理解您要执行的操作,但是我可以了解您的代码为何无法正常工作。