Foros del Web » Programando para Internet » PHP »

Leer Codigo de una Pagina Web

Estas en el tema de Leer Codigo de una Pagina Web en el foro de PHP en Foros del Web. Buenas a Todos !! Me gustaria Saber si es posible con php ( o con algun otro lenguaje ) leer el codigo fuente de una ...
  #1 (permalink)  
Antiguo 19/07/2007, 13:30
 
Fecha de Ingreso: septiembre-2005
Mensajes: 840
Antigüedad: 18 años, 7 meses
Puntos: 84
Buenas a Todos !!

Me gustaria Saber si es posible con php ( o con algun otro lenguaje ) leer el codigo fuente de una pagina web propia ( osea el codigo en php/otro lnguaje dntro de la misma pagina q se quiere leer.

y se me olvidaba, cojer una parte del codigo

Última edición por GatorV; 19/07/2007 a las 14:26
  #2 (permalink)  
Antiguo 19/07/2007, 14:26
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Leer Codigo de una Pagina Web

A que te refieres con el codigo fuente? al html generado?
  #3 (permalink)  
Antiguo 19/07/2007, 14:30
Avatar de omegafunky  
Fecha de Ingreso: diciembre-2003
Ubicación: Tabasco, Mexico
Mensajes: 3.534
Antigüedad: 20 años, 3 meses
Puntos: 33
Re: Leer Codigo de una Pagina Web

no sera que quieres fusilarte el codigo php de otra pagina?
__________________
Canon 7D | Canon 5D Mark II | 35mm 1.4L | 135mm 2L | Pocket Wizard Plus III
  #4 (permalink)  
Antiguo 19/07/2007, 15:10
 
Fecha de Ingreso: septiembre-2005
Mensajes: 840
Antigüedad: 18 años, 7 meses
Puntos: 84
Re: Leer Codigo de una Pagina Web

el php no se puede sakar cargando la pagina, pk automaticamente se transforma en html.

yo quiero sakar el html.

Estoy haciendo un script que analice webs y comprueben si tienen mucha publicidad, si contiene cosas de adultos etc...

Seria cojer el codigo y comprobar textos y cosas asi, por eso lo de cojer partes del codigo, pero ya te digo, lo que quiero es el html ( q lo sakas tu si qres con firefox directamente ) pero q lo haga d forma automatica.

1 saludo
  #5 (permalink)  
Antiguo 19/07/2007, 15:16
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Leer Codigo de una Pagina Web

Si se puede hacer, tienes de dos opciones, usar fsockopen, o usar la extension cURL, con cualquiera de las dos puedes leer una pagina web X y obtener el resultado en una variable.

Saludos.
  #6 (permalink)  
Antiguo 19/07/2007, 15:25
 
Fecha de Ingreso: septiembre-2005
Mensajes: 840
Antigüedad: 18 años, 7 meses
Puntos: 84
Re: Leer Codigo de una Pagina Web

Algun manual de las 2 soluciones?

O los 2 manuales :P
  #7 (permalink)  
Antiguo 19/07/2007, 15:26
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Leer Codigo de una Pagina Web

El manual oficial de PHP

Te recomiendo leas bien el manual y todas las opciones que te ofrece .

Saludos.
  #8 (permalink)  
Antiguo 19/07/2007, 16:27
 
Fecha de Ingreso: septiembre-2005
Mensajes: 840
Antigüedad: 18 años, 7 meses
Puntos: 84
Re: Leer Codigo de una Pagina Web

Siento molestarte otra vez, tengo puesto este codigo :

Código:
<?php

$url = "www.google.es" ;

$da = fsockopen($url, 80, $errno, $errstr, 30) ;

if (!$da) {
	echo "No valida" ;
} else {

	$send  = "GET / HTTP/1.1\r\n";
    $send .= "Host: " + $url +"\r\n";
    $send .= "User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2.1) Gecko/20021204\r\n";
    $send .= "Referer: " + $url +"\r\n";
    $send .= "Accept: text/xml,application/xml,application/xhtml+xml,";
    $send .= "text/html;q=0.9,text/plain;q=0.8,video/x-mng,image/png,";
    $send .= "image/jpeg,image/gif;q=0.2,text/css,*/*;q=0.1\r\n";
    $send .= "Accept-Language: en-us, en;q=0.50\r\n";
    $send .= "Accept-Encoding: gzip, deflate, compress;q=0.9\r\n";
    $send .= "Connection: Close\r\n\r\n";
	
	while (!feof($da)) {
        echo fgets($da, 128);
    }
	
}

?>
Y la web me tarda mucho en cargar, y cuando carga no me aparece nada ( y creo que deberia aparecer exactamente igual que google no ? )

Que hago mal ?

Los sends son copiados de un post de la misma ayuda de php net y solo he cambiado la url :\
  #9 (permalink)  
Antiguo 19/07/2007, 16:46
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Leer Codigo de una Pagina Web

Código PHP:
$send .= "Host: " $url +"\r\n"
Esa linea esta mal, para concatenar strings en PHP se utiliza el operador ".":
Código PHP:
$send .= "Host: " $url ."\r\n"
Saludos.
  #10 (permalink)  
Antiguo 20/07/2007, 05:51
 
Fecha de Ingreso: septiembre-2005
Mensajes: 840
Antigüedad: 18 años, 7 meses
Puntos: 84
Re: Leer Codigo de una Pagina Web

Con ese metodo sigue sin irme...

Cone l de CURL ya lo he consguido, lo guardo en un archivo de Texto y luego leo ese archivo y lo meto en una variable.

Muchas gracias : )
  #11 (permalink)  
Antiguo 22/07/2007, 19:12
 
Fecha de Ingreso: septiembre-2005
Mensajes: 840
Antigüedad: 18 años, 7 meses
Puntos: 84
Re: Leer Codigo de una Pagina Web

Buenas !, he estado probando el codigo que me dijisteis ( el de curl ), y esta bastante bien, pero tengo un problemilla :

Resulta que quiero filtrar publicidades para Adultos y hay empresas de publicidad que en sus banners meten publicidad de adultos y de no adultos mezcladas.

Tonces utilizando este metodo sako el codigo de la empresa, pero antes de que cargue y genere la publicidad.

osea saldria todo el java script en vez de salirme el tag html indicando la url a donde iria.

Entonces quiero saber si se puede obtener habiando cargado ya la pagina ( como si visitaras la pagina, hicieras click con el boton derecho y le dieras a ver codigo, que ya la publi te sale generada y ves si algun link va a algun sitio de adulto o no )

Solo eso : )
  #12 (permalink)  
Antiguo 25/07/2007, 12:25
 
Fecha de Ingreso: septiembre-2005
Mensajes: 840
Antigüedad: 18 años, 7 meses
Puntos: 84
Re: Leer Codigo de una Pagina Web

A nadie se le ocurre como sakar eso ? : (
  #13 (permalink)  
Antiguo 25/07/2007, 12:42
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Leer Codigo de una Pagina Web

Mmm, no entiendo bien tu duda, ya que el codigo que obtienes via cURL, es como si lo vieras desde un explorador es decir ya te entrega todo el codigo HTML generado.

Interpretar ya el javascript eso si es diferente y es muy aparte, tendrias que hacer un interprete de javascript en PHP cosa que no veo nada sencillo, para que pudieras obtener las direcciones y luego filtrar si es de adultos o no.

Saludos.
  #14 (permalink)  
Antiguo 25/07/2007, 16:29
 
Fecha de Ingreso: agosto-2006
Mensajes: 27
Antigüedad: 17 años, 7 meses
Puntos: 0
Mensaje Re: Leer Codigo de una Pagina Web

Hola
Lo que voy a decir no es precisamente una solución en php... pero por lo que entiendo quieres que el contenido de una página se filtre, entiendo que estarías armando de esa manera una especie de proxy, para servir el contenido filtrado... me equivoco?

Si lo que te interesa es únicamente filtrar el contenido, para servir las páginas puras, y no almacenar en BD estadísticas de propagandas y adds, te sugiero veas de utilizar programas como Proxomitron o similares que te filtran totalmente contenidos publicitarios, popups, addons, etc. y es muy configurable.

Si no es esto lo que buscas, lamento haberte quitado un pequeño tiempo en la lectura de mi respuesta.

Un saludo
  #15 (permalink)  
Antiguo 18/09/2007, 05:19
Avatar de AlejandraAtencio  
Fecha de Ingreso: junio-2007
Mensajes: 55
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: Leer Codigo de una Pagina Web

Por favor me podrían decir como se usa esa función CURL, necesito hacer algo parecido
  #16 (permalink)  
Antiguo 18/09/2007, 05:57
Avatar de Kelpie  
Fecha de Ingreso: febrero-2002
Ubicación: NorthSpain
Mensajes: 609
Antigüedad: 22 años, 2 meses
Puntos: 8
Re: Leer Codigo de una Pagina Web

CURL no es una función, es un grupo de funciones. Son las funciones de la biblioteca del cliente URL.

Su empleo es más o menos:
1.- Se crea un handle con curl_init
2.- Se fijan las propiedades con curl_setop
3.- Se obtiene el contenido buscado con curl_exec
4.- Se cierra el handle con curl_close


Te recomiendo la página del manual de PHP, en especial la función curl_exec
__________________
Kelpie
  #17 (permalink)  
Antiguo 18/09/2007, 06:15
Avatar de AlejandraAtencio  
Fecha de Ingreso: junio-2007
Mensajes: 55
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: Leer Codigo de una Pagina Web

Mira coloque este código :
Código PHP:
<?php
// Se crea un manejador CURL
$ch curl_init();

// Se establece la URL y algunas opciones
curl_setopt($chCURLOPT_URL"Mi_pagina.php");
curl_setopt($chCURLOPT_HEADER0);

// Se obtiene la URL indicada
$pag curl_exec($ch);

// Se cierra el recurso CURL y se liberan los recursos del sistema
curl_close($ch);
echo 
$pag;
?>
y cuando lo ejecuto me sale el siguiente error

Código HTML:
Fatal error: Call to undefined function curl_init() in C:\AppServ\www\pdvsa\imprimir2.php on line 9
Tengo que declarar algo mas??
  #18 (permalink)  
Antiguo 18/09/2007, 06:20
Avatar de AlejandraAtencio  
Fecha de Ingreso: junio-2007
Mensajes: 55
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: Leer Codigo de una Pagina Web

Ya lo solucione active el curl en mi php.ini ;)
  #19 (permalink)  
Antiguo 18/09/2007, 06:26
Avatar de Kelpie  
Fecha de Ingreso: febrero-2002
Ubicación: NorthSpain
Mensajes: 609
Antigüedad: 22 años, 2 meses
Puntos: 8
Re: Leer Codigo de una Pagina Web

Suerte
__________________
Kelpie
  #20 (permalink)  
Antiguo 18/09/2007, 06:32
Avatar de AlejandraAtencio  
Fecha de Ingreso: junio-2007
Mensajes: 55
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: Leer Codigo de una Pagina Web

Ahora tengo una duda, yo necesito filtrar información de la pagina que obtengo, el codigo html de la pagina me quedaria gurdado donde porque si imprimo la variable a la que le asigne la sentencia curl_exec($ch); me imprime es un numero
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:32.