2013-01-05 3 views
0

Я пытаюсь написать сценарий на Python, который перезагружает страницу каждые x секунд, используя список прокси, и у меня сейчас проблема. Я знаю, что это тоже не прокси-серверы, потому что я могу их пинговать, и они вернутся. Это HTTP-прокси. Мой сценарий возвращает мне эту ошибку:Python: urllib2 и прокси

urllib.error.URLError: <urlopen error [WinError 10061] No connection could be made because the target machine actively refused it> 

Я понятия не имею, как это исправить. Вот фактический сценарий:

import urllib.request 
import time 
proxy_list = input("Name of proxy list file?: ") 
proxy_file = open(proxy_list, 'r') 
url = input("URL to bot? (Has to include http://): ") 
sleep = float(input("Time between reloads? (In seconds, 0 for none): ")) 
proxies = [] 
for line in proxy_file: 
    proxies.append(line) 
proxies = [w.replace('\n', '') for w in proxies] 

while True: 
    for i in range(len(proxies)): 
     proxy = proxies[i] 
     proxy2 = {"http":"http://%s" % proxy} 
     proxy_support = urllib.request.ProxyHandler(proxy2) 

     opener = urllib.request.build_opener(proxy_support) 
     urllib.request.install_opener(opener) 
     urllib.request.urlopen(url).read() 
     time.sleep(float(sleep)) 

Спасибо.

ответ

2

Не использовать urllib2. Серьезно, просто не надо.

Ваш святой Грааль: requests.

, что вы пытаетесь сделать, это то:

while True: 
    for proxy in proxies: 
     r = request.get(my_url, proxies={'http': proxy}) 
     print r.text 
     time.sleep(float(sleep)) 
+0

Хм, я просто понял, что я думаю, что прокси проблема .. Я буду использовать 'requests' вместо URLLIB как только я получаю его разобрались. –

+0

Константин, учитывая, что исключение один или несколько прокси-серверов определенно не в состоянии ответить. Просто используйте таймауты подключения и правильную обработку исключений, а неработающие прокси не должны быть проблемой. – Anorov

+0

Поддерживает ли запросы PDF? – NumenorForLife

Смежные вопросы