简体   繁体   中英

Python switch variables each 2nd loop?

proxies1 = {'http': 'http://199.193.251.1:3128', 'https': 'http://199.193.251.1:3128'}
proxies2 = {'http': 'http://199.193.251.1:3128', 'https': 'http://199.193.251.1:3128'}
proxies3 = {'http': 'http://199.193.251.1:3128', 'https': 'http://199.193.251.1:3128'}
proxies4 = {'http': 'http://199.193.251.1:3128', 'https': 'http://199.193.251.1:3128'}
proxies5 = {'http': 'http://199.193.251.1:3128', 'https': 'http://199.193.251.1:3128'}
proxies6 = {'http': 'http://199.193.251.1:3128', 'https': 'http://199.193.251.1:3128'}
proxies7 = {'http': 'http://199.193.251.1:3128', 'https': 'http://199.193.251.1:3128'}
proxies8 = {'http': 'http://199.193.251.1:3128', 'https': 'http://199.193.251.1:3128'}
proxies9 = {'http': 'http://199.193.251.1:3128', 'https': 'http://199.193.251.1:3128'}
proxies10 = {'http': 'http://199.193.251.1:3128', 'https': 'http://199.193.251.1:3128'}


ProxyList = [proxies1,proxies2,proxies3,proxies4,proxies5,proxies6,proxies7,proxies8,proxies9,proxies10]

I'm trying to switch proxies every time this loop loops 2 times...

for channel in ChannelList:
    ChannelURL = ("https://url.com/b/" + str(channel) + "/app/basic/a/plusone/buzz:" + videoID + "?cbp=ck8a3bhdyjck&sview=1&cid=5&soc-app=115&soc-platform=1&spath=/b/" + str(channel) +"/app/basic/stream/" + videoID)
    soup = BeautifulSoup(s.get(ChannelURL, PROXY VARIABLE GOES HERE).text, "html.parser")
    for inp in soup.select(".jlvUSc input[name]"):
        if inp["name"] not in form_data1:
            form_data1[inp["name"]] = inp["value"]
    s.post(ChannelURL, form_data1)

Python 3.4

I'm working with Python Request

This will switch proxies every two loops:

for loop,channel in enumerate(ChannelList):
    proxies = ProxyList[loop // 2 % len(ProxyList)]

So what you need, is every loop, invert a flag. When your flag is true get the next proxy from the list

proxyflag = False
Indexer =0
for channel in ChannelList:
if (proxyflag):
  Indexer+=1
ProxyIndex = Indexer%len(ProxyList)
Proxy = ProxyList[ProxyIndex]
ChannelURL = ("https://url.com/b/" + str(channel) + "/app/basic/a/plusone/buzz:" + videoID + "?cbp=ck8a3bhdyjck&sview=1&cid=5&soc-app=115&soc-platform=1&spath=/b/" + str(channel) +"/app/basic/stream/" + videoID)
soup = BeautifulSoup(s.get(ChannelURL, Proxy).text, "html.parser")
for inp in soup.select(".jlvUSc input[name]"):
    if inp["name"] not in form_data1:
        form_data1[inp["name"]] = inp["value"]
s.post(ChannelURL, form_data1)
proxyflag = not(proxyflag)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM