Copiar conteúdo buscando por URLs amigáveis

  • Autor Autor iniciopublic
  • Data de início Data de início
Tradução em andamento: em alguns minutos este tópico estará em português. Por enquanto, o conteúdo está no original em espanhol. Ver original
iniciopublic

iniciopublic

Préstamo impago
1
Ómicron
Verificación en dos pasos activada
Suscripción a IA
Hola a todos , estoy tratando de hacer un pequeño programa para copiar contenido de otras web

pero tengo una duda con respecto a copiar en varias paginas con un for

Como podría copiar o rastrear cierta cantidad paginas si tienen url amigables y no numérico por ejemplo :
HTML:
http://www.pagina.net/?p=34
HTML:
http://www.pagina.net/pelicula-adultos2


este es el código que tengo
PHP:
<?php

for($pagina=50;$pagina<60;$pagina++){

$data = file_get_contents("http://www.pagina.net/?p=".$pagina);

 if ( preg_match('|<h2 class="titulo">(.*?)</h2>|is' , $data , $cap ) )
{
    
    echo '<br><b>'.$cap[1] .'</b>';
}

}
?>



Le agradezco sus pronta respuesta


Saludos
 
Última edição:
Foi útil? Participe da conversa

Com sua conta grátis você pode responder, mandar mensagem privada ao autor e comprar com Saldo retido: o pagamento é liberado quando você recebe o combinado.

Leva 30 segundos · você volta a este tópico ao terminar
creo que puedes savar de la URL principal del blog segu enlaces y paginas
 
mira las url no amigables paresen las de un blog, puedes hacer un bot a la pagina principal del blog, opteniendo todas las url de cada post, despues de eso coger todos los datos del post como desees
 
Que obtengas las url desde la página principal del blog.

Como ? :topsy_turvy: , plisss

con ese codigo solo podría obtener la primera url de la pagina , ¿como podría obtener varias?
 
Última edição:
Como ? :topsy_turvy: , plisss

depende de la estructura HTML del blog, lo puedes hacer con curl :encouragement:

Un ejemplo, un blog tiene la siguiente estructura HTML:

HTML:
<article id="post-1"><a href="http://blog.com/entrada/"><h2>Titulo post</h2></a><div class="thumb"><img src="/thumb.jpg"></div><p>Lorem  ipsum dolor sit.....</p></article>

Lo que haríamos con php sería ver cuantas veces se encuentra <article id="post-1"> en la página principal, sabiendo cuantas veces hay hacemos el ciclo for, pero ya tenemos que tener el source de la página, eso es lo qjue hacemos con curl:

PHP:
<?php
function curl($url){
	$ch = curl_init($url);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
	curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
	$page = curl_exec($ch);
	curl_close($ch);
	return $page;
}
$page = curl('http://blog.com');
$entradas = preg_match(/<article id="post-([0-9-]+)">(.*)<\/article>/, $page, $match);
for($i = 0; $i < count($match); $i++) {
preg_match(/<a href="(.*)"><h2>(.*)<\/h2><\/a>/, $match[$i], $urls);
$url .= $urls[1].'<br />';
}
echo $url;
?>

Según yo eso funcionaría :distant:
 
Tenkiu !! lo probare


depende de la estructura HTML del blog, lo puedes hacer con curl :encouragement:

Un ejemplo, un blog tiene la siguiente estructura HTML:

HTML:
<article id="post-1"><a rel="nofollow" href="http://blog.com/entrada/"><h2>Titulo post</h2></a><div class="thumb"><img src="/thumb.jpg"></div><p>Lorem  ipsum dolor sit.....</p></article>

Lo que haríamos con php sería ver cuantas veces se encuentra <article id="post-1"> en la página principal, sabiendo cuantas veces hay hacemos el ciclo for, pero ya tenemos que tener el source de la página, eso es lo qjue hacemos con curl:

PHP:
<?php
function curl($url){
	$ch = curl_init($url);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
	curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
	$page = curl_exec($ch);
	curl_close($ch);
	return $page;
}
$page = curl('http://blog.com');
$entradas = preg_match(/<article id="post-([0-9-]+)">(.*)<\/article>/, $page, $match);
for($i = 0; $i < count($match); $i++) {
preg_match(/<a href="(.*)"><h2>(.*)<\/h2><\/a>/, $match[$i], $urls);
$url .= $urls[1].'<br />';
}
echo $url;
?>

Según yo eso funcionaría :distant:
 
Voltar
Topo