Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

Scraping cambiar proxys o algo, por favor ayuda

  • 8 Respuestas
  • 740 Vistas

0 Usuarios y 2 Visitantes están viendo este tema.

Desconectado lemos.ema

  • *
  • Underc0der
  • Mensajes: 15
  • Actividad:
    5%
  • Reputación 0
    • Ver Perfil
« en: Mayo 03, 2019, 11:28:03 pm »
Hola que tal , ya hace dias estoy con esto y no hay caso nose como hacerlo.
intento hacer requests a la siguiente pagina pero siempre despues de un tiempo me bloquean el get... me gustaria que cuando sea asi pueda cambiar de proxie y seguir escrapeando . Se que ustedes son mi salvacion y confio en este FORO !!!!!!!! nose si esta bien usar proxies y a la vez user agent por favor ayuda

Código: [Seleccionar]
import requests
from bs4 import BeautifulSoup
from random import choice
import random </code>

def get_proxy():
    proxiDomain= 'https://free-proxy-list.net/'
    r = requests.get(proxiDomain)
    soup= BeautifulSoup(r.content,'html.parser')
    table=soup.find('table',{'id':'proxylisttable'})
    nuevo=[]
    for row in table.find_all('tr'):
        columns= row.find_all('td')
        try:
            nuevo.append({'https':("%s:%s" %(columns[0].get_text(),columns[1].get_text()))})
        except:
             pass
    return choice(nuevo)

proxy=get_proxy()
desktop_agents = ['Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36',
                 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36',
                 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36',
                 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_1) AppleWebKit/602.2.14 (KHTML, like Gecko) Version/10.0.1 Safari/602.2.14',
                 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36',
                 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.98 Safari/537.36',
                 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.98 Safari/537.36',
                 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36',
                 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36']


url = "https://www.espanol.skyscanner.com/g/browseservice/dataservices/browse/v3/bvweb/AR/ARS/es-MX/destinations/ar/anywhere/2019-07-10/?profile=minimalcityrollupwithnamesv2&include=image;holiday&apikey=8aa374f4e28e4664bf268f850f767535"

headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36'}
headers = {
    "referer": "https://www.espanol.skyscanner.com/transporte/vuelos-desde/buea/?adults=1&children=0&adultsv2=1&childrenv2=&infants=0&cabinclass=economy&rtn=0&preferdirects=false&outboundaltsenabled=false&inboundaltsenabled=false&ref=home",
    "user-agent" :random.choice(desktop_agents),
    "x-requested-with": "XMLHttpRequest"}

response = requests.get( url,headers=headers,proxies=proxy)

if response.status_code == 200:
    print ("ok")
else:
    print ("error 400")
print(response.json())
« Última modificación: Mayo 04, 2019, 12:30:14 am por Gabriela »

Desconectado hielasangre

  • *
  • Underc0der
  • Mensajes: 173
  • Actividad:
    1.67%
  • Reputación 4
    • Ver Perfil

Desconectado lemos.ema

  • *
  • Underc0der
  • Mensajes: 15
  • Actividad:
    5%
  • Reputación 0
    • Ver Perfil
« Respuesta #2 en: Mayo 05, 2019, 10:33:44 am »
porque mejor no usas tor services?

https://medium.com/@jasonrigden/using-tor-with-the-python-request-library-79015b2606cb

https://techmonger.github.io/68/tor-new-ip-python/

Como estas??? muchisimas gracias por responder , realmente estoy desesperado por que no lo puedo lograr, necesito ayudaa de todos los que puedan aportar. Intento con tor pero el servidor de la web me bloquea . Ya no se que hacer :(

Desconectado hielasangre

  • *
  • Underc0der
  • Mensajes: 173
  • Actividad:
    1.67%
  • Reputación 4
    • Ver Perfil
« Respuesta #3 en: Mayo 05, 2019, 10:39:04 am »
 muy bien gracias por preguntar, en un par de horas me siento en la pc de nuevo y te doy una mano con eso a ver si lo podemos sacar, un saludo.

edito:
Creo que por aqui va el codigo, ahora no tenes excusa para adaptarlo ;)


Código: [Seleccionar]
import requests
from bs4 import BeautifulSoup
sourceProxy = requests.get('https://free-proxy-list.net/', headers={'User-Agent':'Mozilla/5.0'})
bSoup = BeautifulSoup(sourceProxy.text,"lxml")
for items in bSoup.select("tbody tr"):
    proxy_list = ':'.join([item.text for item in items.select("td")[:2]])
    print(proxy_list)
« Última modificación: Mayo 05, 2019, 11:12:58 am por hielasangre »

Desconectado lemos.ema

  • *
  • Underc0der
  • Mensajes: 15
  • Actividad:
    5%
  • Reputación 0
    • Ver Perfil
« Respuesta #4 en: Mayo 05, 2019, 11:02:52 am »
muy bien gracias por preguntar, en un par de horas me siento en la pc de nuevo y te doy una mano con eso a ver si lo podemos sacar, un saludo.

ufff te lo super agradeceria, sos un genio ! :)

Desconectado hielasangre

  • *
  • Underc0der
  • Mensajes: 173
  • Actividad:
    1.67%
  • Reputación 4
    • Ver Perfil
« Respuesta #5 en: Mayo 05, 2019, 11:25:54 am »
muy bien gracias por preguntar, en un par de horas me siento en la pc de nuevo y te doy una mano con eso a ver si lo podemos sacar, un saludo.

ufff te lo super agradeceria, sos un genio ! :)

El script no obtenía los proxies, ya modifique una parte

Código: [Seleccionar]
import requests

validador = 'https://httpbin.org/ip'
proxy = '179.124.240.199:40524' # ingresa una iteracion para que vaya recorriendo los proxies a medida que les da timeout
print("Request: ")
try:
    response = requests.get(validador,proxies={"http": proxy, "https": proxy})
    print(response.json())
except:
    print("Connnection error")

esa es la validación del proxy, si no esta disponible te dira erorr de conexion
ya creo que podes seguir ahciendolo vos

Desconectado lemos.ema

  • *
  • Underc0der
  • Mensajes: 15
  • Actividad:
    5%
  • Reputación 0
    • Ver Perfil
« Respuesta #6 en: Mayo 05, 2019, 04:43:05 pm »
muy bien gracias por preguntar, en un par de horas me siento en la pc de nuevo y te doy una mano con eso a ver si lo podemos sacar, un saludo.

ufff te lo super agradeceria, sos un genio ! :)

El script no obtenía los proxies, ya modifique una parte

Código: [Seleccionar]
import requests

validador = 'https://httpbin.org/ip'
proxy = '179.124.240.199:40524' # ingresa una iteracion para que vaya recorriendo los proxies a medida que les da timeout
print("Request: ")
try:
    response = requests.get(validador,proxies={"http": proxy, "https": proxy})
    print(response.json())
except:
    print("Connnection error")

esa es la validación del proxy, si no esta disponible te dira erorr de conexion
ya creo que podes seguir ahciendolo vos

como estas ?? primero que nada te super agradezco por estar ayudandome. Mira te cuento entente hacerlo como decis, me habia armado tambien un requests de proxies (aunque el tuyo es mejor jejee) y despues lo intento usar pero me aparece como blocked .... mira intenta vos con la siguiente
validador = "https://www.espanol.skyscanner.com/g/browseservice/dataservices/browse/v3/bvweb/AR/ARS/es-MX/destinations/es/ar/2019-06-22/?profile=minimalcityrollupwithnamesv2&include=image;holiday&apikey=8aa374f4e28e4664bf268f850f767535"
si lo logras la verdad sos un crack yo estoy a punto de tirar la toalla :(

Desconectado hielasangre

  • *
  • Underc0der
  • Mensajes: 173
  • Actividad:
    1.67%
  • Reputación 4
    • Ver Perfil
« Respuesta #7 en: Mayo 05, 2019, 09:02:39 pm »
Es que creo que no estas entiendo bien las partes del script:

Esto es una parte:

Código: [Seleccionar]
import requests
from bs4 import BeautifulSoup
sourceProxy = requests.get('https://free-proxy-list.net/', headers={'User-Agent':'Mozilla/5.0'})
bSoup = BeautifulSoup(sourceProxy.text,"lxml")
for items in bSoup.select("tbody tr"):
    proxy_list = ':'.join([item.text for item in items.select("td")[:2]])
    print(proxy_list)
Esa primera parte se encarga de obtener los proxys de la web y mostrarlos por pantalla.

y esta es otra

Código: [Seleccionar]
import requests

validador = 'https://httpbin.org/ip'
proxy = '179.124.240.199:40524' # ingresa una iteracion para que vaya recorriendo los proxies a medida que les da timeout
print("Request: ")
try:
    response = requests.get(validador,proxies={"http": proxy, "https": proxy})
    print(response.json())
except:
    print("Connnection error")
esta otra parte en si lo que hace eso es al proxy obtenido comprueba que este disponible (que funcione)

con esos dos scripts deberias combinarlos y hacer el request a la web que buscas...
Por ahora no puedo ayudarte más pero no deberia ser impedimento para que lo termines solo, no se cuales sean tus conocimientos de python, pero te recomendaria que le sigas metiendo cabeza porque ya esta casi resuelto.
Cuando tenga tiempo veo si te puedo dar otra mano. El tema es que tampoco voy a hacer todo por vos :P 

Desconectado lemos.ema

  • *
  • Underc0der
  • Mensajes: 15
  • Actividad:
    5%
  • Reputación 0
    • Ver Perfil
« Respuesta #8 en: Mayo 07, 2019, 01:57:27 pm »
Es que creo que no estas entiendo bien las partes del script:

Esto es una parte:

Código: [Seleccionar]
import requests
from bs4 import BeautifulSoup
sourceProxy = requests.get('https://free-proxy-list.net/', headers={'User-Agent':'Mozilla/5.0'})
bSoup = BeautifulSoup(sourceProxy.text,"lxml")
for items in bSoup.select("tbody tr"):
    proxy_list = ':'.join([item.text for item in items.select("td")[:2]])
    print(proxy_list)
Esa primera parte se encarga de obtener los proxys de la web y mostrarlos por pantalla.

y esta es otra

Código: [Seleccionar]
import requests

validador = 'https://httpbin.org/ip'
proxy = '179.124.240.199:40524' # ingresa una iteracion para que vaya recorriendo los proxies a medida que les da timeout
print("Request: ")
try:
    response = requests.get(validador,proxies={"http": proxy, "https": proxy})
    print(response.json())
except:
    print("Connnection error")
esta otra parte en si lo que hace eso es al proxy obtenido comprueba que este disponible (que funcione)

con esos dos scripts deberias combinarlos y hacer el request a la web que buscas...
Por ahora no puedo ayudarte más pero no deberia ser impedimento para que lo termines solo, no se cuales sean tus conocimientos de python, pero te recomendaria que le sigas metiendo cabeza porque ya esta casi resuelto.
Cuando tenga tiempo veo si te puedo dar otra mano. El tema es que tampoco voy a hacer todo por vos :P

Hola que tal ? mil perdones en tardar en contestar, sinceramente no lo quise hacer por no sentirme invasivo y preguntarte. Lo he intentado todo este tiempo , pero por alguna razon no me deja , he hecho una iteraccion para que me vaya tomando los proxy pero no hay caso. No se como hacerlo (y sinceramente antes de tirar la toalla prefiero sacarme la timides y preguntarte, asi se aprende creo yo ) el error que me da es import requests
{'redirect_to': '/sttc/px/captcha/index.html?url=Lw==&uuid=ace23420-70e8-11e9-9e16-99c145471a63&vid=', 'reason': 'blocked'}
nose si tu lo haz intentado con el link que he enviado en la pagina, pero con ese link no me funciona , se que parezco molesto pero solo quiero aprender y llegar a saber lo que vos sabes

 

¿Te gustó el post? COMPARTILO!



[SOLUCIONADO] Ayuda urgente con Virus "Virus.Win32Sality"

Iniciado por Napsters

Respuestas: 6
Vistas: 4853
Último mensaje Junio 11, 2012, 03:38:18 am
por Satyricon
"ayuda con fruitywifi-karma" no puedo activar el modulo karma.

Iniciado por cristobal92

Respuestas: 4
Vistas: 1914
Último mensaje Agosto 02, 2016, 12:03:45 pm
por cristobal92
[JAVA] Ayuda Sockets en Java

Iniciado por FERNANDX

Respuestas: 1
Vistas: 1041
Último mensaje Abril 25, 2018, 08:49:50 pm
por Mortal_Poison
Ayuda Para Hacking Para Juegos

Iniciado por NinjaWarrior

Respuestas: 0
Vistas: 482
Último mensaje Marzo 06, 2019, 08:06:47 pm
por NinjaWarrior
[Ayuda] Crear .zip o .rar de un "archivo"

Iniciado por Zentraedi

Respuestas: 5
Vistas: 2184
Último mensaje Marzo 03, 2017, 02:15:20 pm
por Zentraedi