Начал использовать grablib. Прежде всего, хочу поблагодарить lorien за труды.
Собственно вопросы:
import grab g = grab.Grab() g.setup(timeout=2) g.load_proxylist("proxy.txt", "text_file", "http") g.go("http://www.yandex.ru") print r.code
- grab.error.GrabConnectionError: (7, ‘Failed connect to www.yandex.ru:3202; Connection refused’)
(в файле 1 прокси: 75.126.27.66:3202).
- grab.error.GrabTimeoutError: Operation timed out after 2458 milliseconds with 1961 out of -1 bytes received
Т.к. я в доску новичек, то первое, что пришло в голову - это тупо перебирать прокси (пробуем делать коннект - если исключение -прокси плохой, меняем и пробуем снова и так до победного), например так:
def grab_proxy(g): result = (False, g) try: g.go("http://www.yandex.ru") result = (True, g) except Exception as error: print error g.change_proxy() finally: return result g = grab.Grab() g.load_proxylist("proxy.txt", "text_file", "http") tmp = (False, g) while tmp[0] is False: tmp = grab_proxy(g) g = tmp[1] r = g.go("http://www.yandex.ru") print r.code
Как в таких случаях поступают нормальные люди? :)