Foros del Web » Programando para Internet » PHP »

Extrayendo contenido de una url

Estas en el tema de Extrayendo contenido de una url en el foro de PHP en Foros del Web. Hola compañeros de FDW!!! Actualmente estoy extrayendo la meta descripción y keywords de una url, pero el problema es que no todos los sitios web ...
  #1 (permalink)  
Antiguo 13/10/2012, 20:07
Avatar de xarmagedonx  
Fecha de Ingreso: marzo-2009
Mensajes: 360
Antigüedad: 15 años, 2 meses
Puntos: 29
Pregunta Extrayendo contenido de una url

Hola compañeros de FDW!!!

Actualmente estoy extrayendo la meta descripción y keywords de una url, pero el problema es que no todos los sitios web tienen las meta description y meta keywords.

El código que estoy utilizando es el siguiente:

Código PHP:
Ver original
  1. [...]
  2. //Acá se encuentra un if
  3. preg_match_all ("(<meta name=\"description\" content=\"(.*)\"\/>)siU", $html, $description);
  4. preg_match_all ("(<meta name=\"keywords\" content=\"(.*)\"\/>)siU", $html, $keys);
  5. $descripcion = $description[1][0];
  6. $keywords = $keys[1][0];
  7. storeLink($descripcion,$url,$keywords);
  8. }
  9. [...]

Bueno, lo que intento hacer es que si no se encuentra la meta description extraiga entonces el primer <p></p> de la web. Y en caso de que no exista la meta keywords que extraiga todos los encabezados y texto en negrita e italic.

¿Cómo puedo lograr guardar otro contenido en la base de datos, en caso de que las metas no existan?

Tengo ya los códigos de como extraer los encabezados todos los textos en negrita e italic, pero nose como lograr que reemplazen a la meta keywords en caso de que no se encuentre en el html del sitio.

Un saludo y espero que puedan ayudarme!!!

PD: si no se entendió muy bien lo que quería decir, diganme y se los intento explicar mejor.
  #2 (permalink)  
Antiguo 14/10/2012, 02:14
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: Extrayendo contenido de una url

Para obtener las meta tags usa la función get_meta_tags y para lo demás usa DOM

Con un par de condiciones en la función que te dí funciona.

Saludos.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #3 (permalink)  
Antiguo 14/10/2012, 09:08
Avatar de xarmagedonx  
Fecha de Ingreso: marzo-2009
Mensajes: 360
Antigüedad: 15 años, 2 meses
Puntos: 29
Respuesta: Extrayendo contenido de una url

Gracias por tu respuesta, pero ya se extraetlr meta tags, el código que mostré era para eso.

Lo que intento hacer es que en caso de que no exista la meta description, no guarde un capo vacio en mi BD, si no que extraiga el primer <p></p> de la página y guarde esto como descripcion.

Algo similar debería suceder con las keywords.

Saludos!!
  #4 (permalink)  
Antiguo 16/10/2012, 19:09
Avatar de xarmagedonx  
Fecha de Ingreso: marzo-2009
Mensajes: 360
Antigüedad: 15 años, 2 meses
Puntos: 29
Respuesta: Extrayendo contenido de una url

Pensaba usar un if, pero hay distintas maneras de escribir las metatags, por lo que no me sería útil en este caso.

Probaré si con un switch logro conseguirlo. En caso de que lo logre edito el comentario para escribir cual era la solución.

PD: cuando dije extraetlr me refería a extraer y cuando dije capo me refería a campo jajaja.

Etiquetas: contenido, html, url
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 12:43.