Autor
|
Tema: Juego ejercicios [Python] (Leído 110,843 veces)
|
CaronteGold
Desconectado
Mensajes: 339
|
Me cachis! No hay manera de que me tire lo que busco! pensé que quizás google había cambiado la manera en la que muestra resultados (y no eran accesibles), pero acabo de probar con otro lenguaje (vbs) y no tengo problemas en listar las imagenes!, pero en este caso, ponga lo que le ponga (cambiando user-agent y demás) me sigue pateando con un error 403! Arghhhhh Yo seguiré intentando a ver...., creo que será con el módulo urllib ¿?, lol como mola este emoticono --->
|
|
|
En línea
|
|
|
|
braulio--
Wiki
Desconectado
Mensajes: 896
Imagen recursiva
|
Yo me pondré a intentarlo esta noche es verdad, si que mola.
|
|
|
En línea
|
|
|
|
Novlucker
Ninja y
Colaborador
Desconectado
Mensajes: 10.683
Yo que tu lo pienso dos veces
|
jaja, ya lo tengo terminado, el problema era que estaba generando mal la consulta con urllib, lo raro es que si bien estaba pasando parámetros equivocados a la función urlopen no me pateaba eso, sino un error 403 (igual eran dos problemas separados) Otra cosa ... desde ya les digo que deben de cambiar el user-agent al hacer el GET a google, porque el user-agent por defecto de urllib/urllib2 es "Python-urllib/2.6/3.1", y a google no le gusta :http://www.user-agents.org/ [Edito]Debo de agregar además, que si bien no es "difícil", como que tampoco es muy sencillo para los que comienzan (era mi idea inicial) Saludos
|
|
« Última modificación: 9 Enero 2010, 03:32 am por Novlucker »
|
En línea
|
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD "Hay dos cosas infinitas: el Universo y la estupidez humana. Y de la primera no estoy muy seguro." Albert Einstein
|
|
|
|
braulio--
Wiki
Desconectado
Mensajes: 896
Imagen recursiva
|
No, al hacer urlopen no te devuelve el source, te devuelve un objeto. Lo que te devuelve el source es el método .read() de ese objeto. Yo ahora mismo estoy en windows por qué la lié con linux y no voy a poder hacer nada, aunque de todas formas lo acabaré haciendo.
|
|
|
En línea
|
|
|
|
Novlucker
Ninja y
Colaborador
Desconectado
Mensajes: 10.683
Yo que tu lo pienso dos veces
|
Excusas! Python es multiplataforma! Por mi parte ya he dejado el script "limpio" para que sea lo más entendible posible, ya que se supone que en parte es la idea. Una muestra >>> Ingrese texto de imagen a buscar: wallpapers
<Descargando 21 imagenes>
d:\Imagenes\wTYjGJHklorkQM.jpg d:\Imagenes\blgyYUWc_GXkwM.jpg d:\Imagenes\bP7o0OcpkhzwGM.jpg d:\Imagenes\JhX_rdRwoYutQM.jpg d:\Imagenes\_2xbHUMSifRvlM.jpg d:\Imagenes\GH5IVj4CbxQAPM.jpg d:\Imagenes\vFHnJs2xnEQLgM.jpg d:\Imagenes\L1WXw5lr9KzUUM.jpg d:\Imagenes\oMxwx2Z1q7MczM.jpg d:\Imagenes\V5Tljp9ZSPtkuM.jpg d:\Imagenes\zAkTCWgWmekv_M.jpg d:\Imagenes\sTiDwmbusPnl7M.jpg d:\Imagenes\0TYaokqa7NNs3M.jpg d:\Imagenes\E6ydly-vf7rfLM.jpg d:\Imagenes\dsIX0BzhiIz0fM.jpg d:\Imagenes\9bMAGXCe0sNW9M.jpg d:\Imagenes\kf4KrWAu-9gBpM.jpg d:\Imagenes\LElXIbJfFGDcVM.jpg d:\Imagenes\EaFnBmtX1b7JTM.jpg d:\Imagenes\gxZPznPGLgKQHM.jpg d:\Imagenes\oa2kPZFNCiaf-M.jpg
<Completado> >>> Saludos
|
|
|
En línea
|
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD "Hay dos cosas infinitas: el Universo y la estupidez humana. Y de la primera no estoy muy seguro." Albert Einstein
|
|
|
braulio--
Wiki
Desconectado
Mensajes: 896
Imagen recursiva
|
Yo lo empiezo ahora, en media hora espero tenerlo hecho.
|
|
|
En línea
|
|
|
|
braulio--
Wiki
Desconectado
Mensajes: 896
Imagen recursiva
|
Aqui está el código para python 3.1 import urllib.request,re import urllib.request,re def extension(url): url = url[::-1] extension = url[:4] return extension[::-1] palabra = input("Introduzca la palabra de la busqueda : ").replace(' ','%20') numerodefotos = int(input("Cuantas fotos quieres ? : ")) partedelhost = "http://www.google.es" parte1 = "/images?gbv=2&hl=en&sa=1&q=" parte2 = "&btnG=Search&aq=f&oq=&start=0" url = partedelhost+parte1+palabra+parte2 diccionario = { "User-Agent" : "Mozilla Firefox"} req = urllib.request.Request(url,headers=diccionario) codigo = urllib.request.urlopen(req).read() expresionre = re.compile('http://[^/]*?gstatic.com/images.*? ', re.IGNORECASE) listadefotos = expresionre.findall(str(codigo)) for i in range(numerodefotos): urllib.request.urlretrieve(listadefotos[i],str(i)+"."+extension(listadefotos[i])) print("Todo hecho")
El ejercicio va a ser un programa para jugar online al 3 en raya, tenéis que hacer el cliente y el server. Suerte.
|
|
« Última modificación: 10 Enero 2010, 20:03 pm por braulio23 »
|
En línea
|
|
|
|
Novlucker
Ninja y
Colaborador
Desconectado
Mensajes: 10.683
Yo que tu lo pienso dos veces
|
Bien hecho! Dejo mi code, tiene comprobación de errores en algún sitio, además de que lo he hecho bastante estructurado, por lo que el código es el doble de largo import urllib.request, urllib.parse, re def Download(URL, name): try: webretrieve = urllib.request.urlretrieve(URL, name) return webretrieve[0] except: return 'Error en la descarga' def ArrayFilter(aList): newList = [] for a in aList: if a not in newList: newList.append(a) return newList def Searchths(text): r = re.compile('[a-zA-Z0-9_-]{13}M:') IDsths = r.findall(text) return IDsths def Webrequest(URL, params): Headers = {'User-Agent':'Mozilla/5.0 (Windows; U; Windows NT 5.1; es-ES; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6'} p = urllib.parse.urlencode(params) URL += p customrequest = urllib.request.Request(URL,headers=Headers) webcontent = urllib.request.urlopen(customrequest) return str(webcontent.read()) def SeDoGoImage(imagetext): searchurl = 'http://images.google.es/images?' imagesurl = 'http://t1.gstatic.com/images?q=tbn:' Wrtext = Webrequest(searchurl,{'q':imagetext}) aImages = ArrayFilter(Searchths(Wrtext)) print('\n<Descargando',len(aImages),'imagenes>\n') for i in aImages: d = Download(imagesurl + i[:-1],'d:\\Imagenes\\' + i[:-1] + '.jpg') print(d) print('\n<Completado>') IMG = input('Ingrese texto de imagen a buscar: ') SeDoGoImage(IMG)
El ejercicio que planteas sería para jugar contra la máquina verdad? Saludos
|
|
|
En línea
|
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD "Hay dos cosas infinitas: el Universo y la estupidez humana. Y de la primera no estoy muy seguro." Albert Einstein
|
|
|
braulio--
Wiki
Desconectado
Mensajes: 896
Imagen recursiva
|
Bueno, yo lo pensé para jugador contra jugador, pero hagan lo que quieran.
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Reto/Juego Ejercicios en Python
« 1 2 3 4 5 »
Ejercicios
|
Novlucker
|
47
|
35,708
|
20 Diciembre 2010, 06:47 am
por [L]ord [R]NA
|
|
|
ejercicios en python
Scripting
|
ramontxu
|
2
|
3,714
|
15 Diciembre 2011, 21:56 pm
por ramontxu
|
|
|
Ejercicios python con solucion
Programación General
|
bichotg
|
0
|
2,935
|
17 Febrero 2012, 00:33 am
por bichotg
|
|
|
ejercicios con while y for en python
Scripting
|
jasson94
|
3
|
10,634
|
26 Octubre 2012, 22:52 pm
por jasson94
|
|
|
Ayuda ejercicios de python
Python
|
jasson94
|
2
|
3,938
|
30 Octubre 2012, 01:39 am
por jasson94
|
|