一般背景:
我有一个代理列表,我有一个PDF网址列表。我正在下载这些PDF文件。
我希望每次下载都能切换代理。
我在几个答案中看到了以下内容,但是所有代理都是一次使用的吗?或者从代理词典中随机出现?如何选择使用哪个代理?
proxies = {
'https': 'http://username:password@ip:port',
'https': 'http://usernamepassword@ip:port',
'https': 'http://usernamepassword@ip:port',
'https': 'http://usernamepassword@ip:port',
'https': 'http://usernamepassword@ip:port',
'https': 'http://usernamepassword@ip:port'
}
以下是我当前代码的示例示例
我的代码:
s = requests.Session()
data = {"Username":"usr", "Password":"psw"}
url = "https://someSite.com"
#Logging into the site
s.post(url, data=data) #add proxies=proxies here?
for download_url in PDFLinks:
temp = s.get(download_url).content
我有一个可用的代理服务器列表
https_proxy_list = "https://IP:port", "https://IP:port", "https://IP:port"
如何更改request.Session()对象的代理? POST和GET
通过更改代理,我不必重新登录该网站,对吧?
答案 0 :(得分:0)
只需拥有一份代理列表,然后循环使用它们
s = requests.Session()
proxyList = ['Just imagine there are a few proxies here']
for item in proxyList:
r2 = s.get(login_url, proxies = {'https' : item}, verify=False)
print r2.status_code
if r2.status_code == 200:
print "It worked"
usable_IP.append(item)
print usable_IP
print usable_IP
这是我目前正在使用的代码,它解决了我遇到的问题。 2017年12月13日