Siempre es útil disponer de una lista de proxys "anónimos" para hacer alguna que otra prueba, buscando de qué forma obtener una buena lista sin tener que consultar las páginas que los publican, encontré el siguiente script: http://pastebin.com/f64134167. Después de varias pruebas comprobé que la lista de proxys de http://www.samair.ru/proxy/time-01.htm no se obtenía correctamente.
En la web de Samair.ru comprobé que habían incluido un código en javascript que genera un diccionario con los puertos en los que está ubicado el proxy, así que el script que estaba usando fallaba.
Para resolverlo desarrolle el siguiente:
#!/usr/bin/env python
# Author: freed0m at hacktimes.com
# Visit us at: http://www.hacktimes.com
import re, sys, urllib2, random
#conf
fichero = 'samair-proxy.txt'
site = "http://www.samair.ru/proxy/time-"
# Regex
regex1 = """<script src="http://samair.ru:81/js/m.js" type="text/javascript"></script><script type="text/javascript">
(.*)</script></head>"""
regex2 = """([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})<script type="text/javascript">document.write\(":"([\+a-z]+)"""
fich = open(fichero,'a')
# Main
for i in range(1,11):
if i<10:
cad = "0" + str(i)
else:
cad = str(i)
url = site + cad + ".htm"
try:
print ("Obteniendo proxys de la direccion %s" %(url))
pet = urllib2.urlopen(url)
contenido = pet.read()
match = re.search(regex1,contenido)
claves = match.group(1)
valores = claves.split(";")
diccionario = {}
for v in valores:
if len(v.split("="))>1:
diccionario[v.split("=")[0]] = v.split("=")[1]
sustituir = re.findall(regex2,contenido)
for s in sustituir:
IP = s[0]
rango = s[1].split('+')
Puerto = ''
for p in rango:
if p:
Puerto = Puerto + diccionario[p]
proxy = IP + ":"+ Puerto
fich.write(proxy + "\n")
except urllib2.URLError as e:
print ("Error Obteniendo Proxys: %s" %(e))
Este script procesa cada url, obtiene el diccionario del javascript para generar los puertos correctamente y guarda un txt con los proxys obtenidos.
Esperamos que os resulte útil. Puedes descargarlo aquí: http://www.hacktimes.com/files/htimes_proxy.py


Comentarios
wifi
genial aporte gracias funciona perfecto i gracias por los posts puestos en la pagina son todos muy buenos a ver si mi pequeño cerebro puede absorver tanta info tan buena salud2 a t0dos
hemos realizado un minimo cambio en el script para que funcione con los cambios que han realizado en samair.ru
gracias por tu respuesta y por el script ya lo arregle, funciona perfecto
@rever si consultas en Google el error veras que se trata de Microsoft ForeFront, que impide realizar dichas peticiones al exterior, verifica que no existe dicho producto en tu red o aplica una configuración adecuada. Siempre puedes probarlo desde otra red, no parece tener nada que ver con el propio script. Saludos.
baje el script y cuando lo corro me da un error de 502 en cada pagina que intenta y el error lo describe como "forefront tmg denied the specified uniform resource locator" quisiera saber que estoy haciendo mal soy nuevo a este lenguaje, gracias por tu respuesta y por compartir el codigo
@Anonimo: Buenas, tienes que usar un interprete de python, consulta la dirección: http://www.python.org/ Para ejecutarlo simplemente python htimes_proxy.py
como uso ese script porque tampoco puedo ver la lista de proxys
Muy util :) Thx.
Añadir comentario