具有代理列表的Python请求无法使用代理进行请求

时间:2019-12-04 00:31:56

标签: python beautifulsoup proxy python-requests

我正在处理一个项目,需要将请求与代理一起使用,因此我下载了一个代理列表,我想随机轮换代理,问题是如果我用这样的单个代理定义字典 proxies = {'https': 'https://18.136.89.68:8080'} 接着 response = requests.get(url,proxies=proxies) 它可以工作,但是如果我要使用代理列表,请求可以工作,但不连接到代理即可执行请求。

proxies = []
url = 'https://www.sslproxies.org/'

htmlContent = requests.get(url)

soup = BeautifulSoup(htmlContent.text, 'html.parser')
proxies_table = soup.find(id='proxylisttable')

for row in proxies_table.tbody.find_all('tr'):
    proxies.append({
             "https":'https://'+
             row.find_all('td')[0].string+
             ':'+
             row.find_all('td')[1].string
         })

response = requests.get('https://httpbin.org/ip',proxies=proxies[<any index>]) print(response.json())

即使以为它创建了一个字典列表,它也会显示列表代理的任何索引来显示我的真实IP地址,我试图删除字典中的'https://'+部分,但是同样的结果我也尝试了{{1} },我也尝试过:

response = requests.get('https://httpbin.org/ip',proxies=dict(proxies[<any index>]))

它总是显示我的实际IP地址而不是代理的IP地址。 同样,这只是脚本的一部分,在开始时,我会导入所需的所有模块。

0 个答案:

没有答案