Autor
|
Tema: obtener nombres de peliculas de una pagina con Python ? ayuda :) (Leído 7,625 veces)
|
novato04
Desconectado
Mensajes: 19
|
Como podria hacer para obtener los nombres de las peliculas de esta pagina http://cinevk.com con el lenguaje python se puede hacer ? y despues que se guarde en un archivo de texto.txt en Windows los tag que tienen las peliculas son las <p><div class="nombre-pelicula"><p>Cadena perpetua </p></div>
todo el resultado quedaria en un archivo texto.txtAsi Cadena perpetua Lo que el viento se llevó Los siete samurais Pulp fiction Testigo de cargo Ciudadano Kane Casablanca 2001: Una odisea del espacio El caballero oscuro Lawrence de Arabia
|
|
« Última modificación: 26 Julio 2014, 03:40 am por novato04 »
|
En línea
|
|
|
|
engel lex
|
no se python, pero las regex (expresiones regulares) te pueden ayudar... aquí documentacionsi no, con find() probablemente te sirva... y si realmente lo quieres más fácil, un html parser debería hacer el 90% del trabajo por ti
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
|
engel lex
|
no se nada de python XD por eso te dejé los links de la documentación donde hay ejemplos, métete a el ulitmo link y revisa los ejemplos
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
novato04
Desconectado
Mensajes: 19
|
|
|
|
En línea
|
|
|
|
Eleкtro
Ex-Staff
Conectado
Mensajes: 9.878
|
esque tampoco se python . . . en fin, siento sermonearte tanto pero deberías cojer un libro y leer, aquí te ayudaremos en lo que sea posible, pero ser novato no es una razón de peso para pedirlo todo echo en Batch, Ruby, Python, y etc... Por otro lado, has dado un salto en la dirección correcta al dejar atrás la utilización de Batch, pero dado el (nulo) nivel de conocimiento del que dispones en Python, te sugiero utilizar las expresiones regulares ya que es algo a lo que puedes recurrir en cualquier otro lenguaje sin necesidad de realizar demasiados cambios entre uno y otro. Ejemplo: import os, time, re String = '<div class="nombre-pelicula"><p>Cadena perpetua</p></div>' expression = '.*<p>(.*)<\/p>.*' # Paragraph tag RegExComp = re.compile(expression, re.IGNORECASE) RegExMatch = RegExComp.match(String).group(1) print RegExMatch time.sleep(5)
Saludos.
|
|
« Última modificación: 26 Julio 2014, 05:03 am por Eleкtro »
|
En línea
|
|
|
|
novato04
Desconectado
Mensajes: 19
|
Esta bien me pondre a estudia mas sobre python para haci hacer proyectos Pero el script que mandaste no entra en la pagina http://www.cinevk.comimport os, time, re String = '<div class="nombre-pelicula"><p>Cadena perpetua</p></div>' expression = '.*<p>(.*)<\/p>.*' # Paragraph tag RegExComp = re.compile(expression, re.IGNORECASE) RegExMatch = RegExComp.match(String).group(1) print RegExMatch time.sleep(5)
Se podria entrar en esa pagina y encontrar todos los nombres de la peliculas Y guardalo en archivo de txt ?
|
|
|
En línea
|
|
|
|
engel lex
|
realmente quieres toda la explicación (o código) de como abrir un url, acceder al contenido, parsearlo, abrir un archivo y guardarlo? -.-
has algo... ve a google, busca un tutorial de python, y si tienes alguna duda en un punto especifico de un tema puntual vienes y la preguntas, si?
o si no, hasle esta pregunta a google, este proyecto lo deben haber hecho miles antes que tu
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
asdexiva
Desconectado
Mensajes: 217
|
vamos no ay que ser tan malos XD mira espero y te sirva de motivacion ,python es muy facil tienes mucha documentacion en ingles y español, mas en ingles pero no necesitas saber mucho ingles solo lo basico llevo 5 semanas con este lenguaje y la verdad me a sorprendido demasiado puedes hacer practicamente cualquier cosa y es muy facil la sintaxis. la verdad es que si es cierto lo que dicen los compañeros de arriba no pidas que te lo hagan trata de avanzar algo y talvez te ayuden . te recomiendo que entres a pythonya asi buscalo en google te enseñan de una forma interactiva y no necesitas descargar python aprendiendo eso basico casi puedes hacer cualquier cosa ojo tampoco soy el amo de python tampoco se algunas cosillas pero leyendo se aprende aca lo que pides espero y te motive hacer mas cosas en python ojo necesitas descargar la libreria mechanize y beautifulsoup supongo que usaras windows te bajas este programa para instalar librerias y lo instalas https://pypi.python.org/packages/2.7/s/setuptools/setuptools-0.6c11.win32-py2.7.exe#md5=57e1e64f6b7c7f1d2eddfc9746bbaf20una vez descargado entras a inicio ejecutar cmd y en cmd buscas el directorio donde tengas guardado python o escribes esto Cd\Python27\Scripts una vez ayas puesto esto escribes easy_install mechanize una vez que se complete de instalar no cierres nada y escribes easy_install beautifulsoup4 y listo procedes con el codigo ojo el codigo no estan largo lo que esta con # son comentarios no afecta en nada si los borras solo te explica que hace cada cosa #se importa la libreria mechanize #mechanize es un emulador de navegador # se importa la libreria beautifulsoup por que bs4 por que es la version 4 de beautiful #beautifulsoup es un parseador html para buscar divs y cosas por el estilo que estan en el codigo fuente de la pagina import mechanize from bs4 import BeautifulSoup
#declarar el navegador br = mechanize.Browser()
#se almacena la url de donde extraeremos los datos url='http://www.cinevk.com/'
#se desactivan los robots de la pagina para que la pagina no piense que somos un bot br.set_handle_robots(False) #se agrega el header para que la pagina piense que entramos desde un mozilla linux br.addheaders = [('User-agent', 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071615 Fedora/3.0.1-1.fc9 Firefox/3.0.1')]
#se abre la url de donde sacaremos esos datos que pides r = br.open(url)
#se declara una variable con el nombre soup y le decimos que BeautifulSoup es la respuesta de la pagina y que la lea ,la respuesta vendria siendo el codigo html de la pagina soup = BeautifulSoup(br.response().read())
#con un for le decimos al modulo soup que busque todas las etiquetas <p> y </p> #recuerda que soup es una variable que almacena al modulo beautifulsoup for resul in soup.findAll('p'): # si tu trataras de imprimir resul asi directo del for te saldrian todos los titulos asi <p>ice age 1</p> #para eso existe el metodo join ,por cierto gracias a Elektro y a Godor por decirme de este metodo jaja #lo que sucede aqui es que con un print impremes el resultado supongo que si saves para que sirve un print #bueno con un join tomas al resul del for y buscas con findall todo lo que no sea etiquetas html y lo impremes con print print ''.join(resul.findAll(text=True))
aqui resultado si alguien quisiera corregirme en algo son libres de hacerlo tampoco soy una eminencia jaja
|
|
« Última modificación: 10 Agosto 2014, 03:27 am por asdexiva »
|
En línea
|
|
|
|
engel lex
|
creo que va contra las reglas del foro entregar el código listo (no se si aplica a este sub foro, creo que no ya que Eleкtro creo que lo hace) pero tu sabes por todo el asunto que este es un lugar para aprender y eso...
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Obtener Nombres de Usuarios [Vb.Net]
.NET (C#, VB.NET, ASP)
|
Keyen Night
|
4
|
5,835
|
15 Mayo 2010, 01:57 am
por 43H4FH44H45H4CH49H56H45H
|
|
|
Twitter suspende una cuenta por publicar los nombres de películas que ésta ...
Noticias
|
wolfbcn
|
0
|
1,889
|
22 Diciembre 2014, 02:38 am
por wolfbcn
|
|
|
Obtener los nombres de host con nmap
Redes
|
Root~
|
8
|
11,318
|
13 Agosto 2015, 13:56 pm
por Gh057
|
|
|
¿Porque España traduce tan mal los nombres de peliculas, personajes, etc?
« 1 2 3 »
Foro Libre
|
SmallHands
|
25
|
10,124
|
10 Noviembre 2015, 10:24 am
por Orubatosu
|
|
|
MOVIDO: ¿Porque España traduce tan mal los nombres de peliculas, personajes, etc?
Multimedia
|
Eleкtro
|
0
|
2,350
|
5 Noviembre 2015, 21:33 pm
por Eleкtro
|
|