Descarga FilmAffinity importer

Mensajes
27
Puntuación de reacción
0
Añado un pequeño script hecho y editado por mi (4 lineas por un amigo jajaja pero me hizo la vida) aqui os dejo una imagen de como queda en mi theme de mi web.

Lo iré perfeccionando y a ver si encuentro como hacerlo plugin para el WP.

Método de uso:

Descargarse el plugin de utilización de PHP en un post, page. http://downloads.wordpress.org/plugin/allow-php-in-posts-and-pages.zip

Cuando lo tengáis instalado. La utilización del plugin es muy simple. En un post o page ponéis
Código:
 entre corchetes php vuestro código php, en este caso el mio.y cerramos los corchetes
y publicáis.

Adjunto aquí todo el código si alguien me quiere echar una mano en darle mejor uso bienvenido sea. Bueno aquí dejo el código.

Código:
<?php

$url = 'http://www.filmaffinity.com/es/film348761.html';
$carat = 'http://pics.filmaffinity.com/Ninos_grandes_2-490274667-large.jpg';

$html = file_get_contents($url);

$doc = new DOMDocument();

@$doc->loadHTML($html);

$dts = $doc->getElementsByTagName('dt');

$dds = $doc->getElementsByTagName('dd');

$titulo="";
$anyo="";
$duracion="";
$pais="";
$director="";
$guion="";
$musica="";
$foto="";
$reparto="";
$produc="";
$genero="";
$site="";
$sinopsis="";

for ($i = 0; $i < $dts->length-4; $i++)
{	
	$str1=$dts->item($i)->nodeValue;
	$str2=$dds->item($i)->nodeValue;
	
	if($str1 == "Título original"){
		$titulo=$str2;
	}else{
		if($str1 == "Año"){
			$anyo=$str2;
		}else{
			if($str1 == "Duración"){
				$duracion=$str2;
			}else{
				if($str1 == "País"){
					$pais=$str2;
				}else{
					if($str1 == "Director"){
						$director=$str2;
					}else{
						if($str1 == "Guión"){
							$guion=$str2;
						}else{
							if($str1 == "Música"){
								$musica=$str2;
							}else{
								if($str1 == "Fotografía"){
									$foto=$str2;
								}else{
									if($str1 == "Reparto"){
										$reparto=$str2;
									}else{
										if($str1 == "Productora"){
											$produc=$str2;
										}else{
											if($str1 == "Género"){
												$genero=$str2;
											}else{
												if($str1 == "Web Oficial"){
													$site=$str2;
												}else{
													if($str1 == "Sinopsis"){
														$sinopsis=$str2;
													}else{}
												}
											}
										}
									}								
								}
							}
						}
					}
				}
			}
		}
	}
}
echo "
	<style>
		.titulosficha{
			width:100px;
			font-weight: bold;
			text-align: left;
			padding: 2px;
			vertical-align: middle;
		}
		.tablaficha{
			padding-top: 20px;
			position: relative;
		}
		.datos{
			//width: 400px;
			border-bottom: 1px dotted grey;
		}
		.tablasinopsis{
			//width: 750px;
			margin-top: 50px;
		}
		.tablatitulos{
			margin-top: 30px;
			margin-bottom: 20px;
		}
		
		.titulos{
			width: 750px;
			padding: 5px 0px 2px;
			text-align: center;
			font-size: 32px;
			font-weight: bold;
			border-top-left-radius: 20px;
			border-top-right-radius: 20px;
			-webkit-box-reflect: below -1px -webkit-gradient(linear, 0 0, 0 100%, from(transparent), color-stop(.33, transparent), to(#FFF));
			background: linear-gradient(rgb(255,255,255),rgb(255, 184, 0));
		}
		.sinopsis{
			padding: 20px 20px 0px;
		}
		td{
			
		}
	</style>
	<table class='tablatitulos'>
		<tr><td class='titulos'>Ficha<td></tr>
	</table>
	<a href='".$carat."' target='_blank'><img style='height: 300px;
			padding: 10px 10px 0px;
			position: relative;
			float: left;
			border-radius: 30px;
			-webkit-box-reflect: below 2px -webkit-gradient(linear, 0 0, 0 100%, from(transparent), color-stop(.66, transparent), to(#FFF));' src='".$carat."'></a>
	<table class='tablaficha'>
	<tr><td class='titulosficha'>Título original: </td><td class='datos'>".$titulo."</td></tr>	
	<tr><td class='titulosficha'>Año: </td><td class='datos'>".$anyo."</td></tr>
	<tr><td class='titulosficha'>Duración: </td><td class='datos'>".$duracion."</td></tr>
	<tr><td class='titulosficha'>País: </td><td class='datos'>".$pais."</td></tr>
	<tr><td class='titulosficha'>Director: </td><td class='datos'>".$director."</td></tr>
	<tr><td class='titulosficha'>Guión: </td><td class='datos'>".$guion."</td></tr>
	<tr><td class='titulosficha'>Música: </td><td class='datos'>".$musica."</td></tr>
	<tr><td class='titulosficha'>Fotografía: </td><td class='datos'>".$foto."</td></tr>
	<tr><td class='titulosficha'>Reparto: </td><td class='datos'>".$reparto."</td></tr>
	<tr><td class='titulosficha'>Productora: </td><td class='datos'>".$produc."</td></tr>
	<tr><td class='titulosficha'>Género: </td><td class='datos'>".$genero."</td></tr>
	<tr><td class='titulosficha'>Web Oficial: </td><td class='datos'><a href='".$site."'>".$site."</a></td></tr>
	</table>
	<table class='tablasinopsis'>
		<tr><td class='titulos'>Sinopsis<td></tr>
		<td class='sinopsis'>".$sinopsis."</td>
		
	</table>
	<table class='tablatitulos'>
		<tr><td class='titulos'>Descarga<td></tr>
		
	</table>
	<table class='tablatitulos'>
		<tr><td class='titulos'>Ver Online<td></tr>
		
	</table>
	
	";
?>

Os dejo todo el código pero si lo queréis insertar no hace falta copiar las aperturas
Código:
<?php , ?>
. Copiar todo menos eso porque ya estás las del plugin.

Para que funcione tenéis que sustituir el valor de la variable $url por la dirección de la película de la cual queréis coger los datos y en la variable $carat lo mismo pero de la portada. (las variables están al principio)

mllr.jpg
 
Última edición:
Mensajes
363
Puntuación de reacción
0
Buen scraping.
Pero eso se debería hacer una sóla vez para crear el post, o estás consumiendo recursos a lo bestia y dependes de que el otro sitio esté en línea.

Espero que mejores el código para convertirlo en un plugin.
 
Arriba