Uma ajudinha com curl php

  • Autor Autor xaiborweb
  • 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
xaiborweb

xaiborweb

Dseda
Programador
No recomendado
Usuário com poucas negociações! Use sempre o saldo do ForoBeta!
Hola cansado de que ya varios programadores me han quedo mal en proyectos y ademas para manejar temas de exclusividad me decidí a scrapear con php

actualmente estoy intentando extraer todos los enlaces de una pagina pero solo logro obtener el primero xd, si alguien pudiera citar ejemplos y hablarme del error se lo agradezco 😉

PHP:
<?php 

	$ch = curl_init(); 
	curl_setopt($ch,CURLOPT_URL,'http://www.yaske.cc/es/pelicula/0009506/ver-the-revenant-online.html'); 
	curl_setopt($ch,CURLOPT_USERAGENT,'Mozilla/5.0 (Windows NT 5.1; rv:31.0) Gecko/20100101 Firefox/31.0'); 
	curl_setopt($ch,CURLOPT_HTTPHEADER,array('Accept-Language: es-es,en')); 
	curl_setopt($ch,CURLOPT_TIMEOUT, 10); 
	curl_setopt($ch,CURLOPT_FOLLOWLOCATION, 1); 
	curl_setopt($ch,CURLOPT_RETURNTRANSFER, 1); 

	//Guardar pagina 
	$html = curl_exec($ch); 
	curl_close($ch); //Cerramos la conexion CURL. 

	//Saco la seccion 
	preg_match_all("(<a class=\"btn btn-mini enlace_link\" style=\"text-decoration:none;\" rel=\"nofollow\" target=\"_blank\" title=\"Ver...\" href=\"(.*)\">)SiU", $html, $enlace1);
     $enlace = $enlace1[1][0]; 
     echo $enlace;

?>
 
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
Si quieres obtener todos los enlaces, sin importar de qué sea, usa la expresión regular href="(.*?)"

PHP:
preg_match_all('/href="(.*?)"/', $html, $enlace1);
print_r($enlace1);
 
Si quieres obtener todos los enlaces, sin importar de qué sea, usa la expresión regular href="(.*?)"

PHP:
preg_match_all('/href="(.*?)"/', $html, $enlace1);
print_r($enlace1);

pues la idea es obtener todos los enlaces de online y descarga con respecto a esa pagina por eso tenia la estructura anterior
 
pues la idea es obtener todos los enlaces de online y descarga con respecto a esa pagina por eso tenia la estructura anterior

PHP:
preg_match_all('/href="(.*?)"><i class="icon-download">/', $html, $descarga); 
preg_match_all('/href="(.*?)"><i class="icon-play">/', $html, $online);
echo '<h2>Descarga</h2>';
foreach ($descarga[1] as $key) {
    echo $key.'<br />';
}
echo '<h2>Online</h2>';
foreach ($online[1] as $key) {
    echo $key.'<br />';
}

😉😉😉
 
PHP:
preg_match_all('/href="(.*?)"><i class="icon-download">/', $html, $descarga); 
preg_match_all('/href="(.*?)"><i class="icon-play">/', $html, $online);
echo '<h2>Descarga</h2>';
foreach ($descarga[1] as $key) {
    echo $key.'<br />';
}
echo '<h2>Online</h2>';
foreach ($online[1] as $key) {
    echo $key.'<br />';
}

😉😉😉

muchas gracias por la ayuda llevaba todo el día en eso xd, espero no abusar de ti pero necesito que cada enlace me lo muestre con su calidad y idioma y ahora otra vez me e liado xd, me podrías dar una mano con eso ?
 
muchas gracias por la ayuda llevaba todo el día en eso xd, espero no abusar de ti pero necesito que cada enlace me lo muestre con su calidad y idioma y ahora otra vez me e liado xd, me podrías dar una mano con eso ?

😕😕😕😕
PHP:
$adsdsdsd = explode('Opciones para descargar', $html);
preg_match_all('/href="(.*?)"><i class="icon-download">/', $adsdsdsd[1], $descarga);
preg_match_all('/images\/flags\/(.*?).png" width="22">/', $adsdsdsd[1], $audios);
preg_match_all('/style="text-transform:capitalize;">(.*?)<\/span>/', $adsdsdsd[1], $calidad);
?>
<h2>Descarga</h2>
<table border="0">
    <tr>
        <td></td>
        <td width="100">Enlace</td>
        <td width="100">Audio</td>
        <td width="100">Calidad</td>
    </tr>
<?php
foreach ($descarga[1] as $key => $value) {
?>
    <tr>
        <td>#<?php echo $key+1; ?></td>
        <td><a href="<?php echo $descarga[1][$key]; ?>">Descargar...</a></td>
        <td><?php echo $audios[1][$key]; ?></td>
        <td><?php echo $calidad[1][$key]; ?></td>
    </tr>
<?php } ?>
</table>
<?php
preg_match_all('/href="(.*?)"><i class="icon-play">/', $adsdsdsd[0], $online);
preg_match_all('/images\/flags\/(.*?).png" width="22">/', $adsdsdsd[0], $audios);
preg_match_all('/style="text-transform:capitalize;">(.*?)<\/span>/', $adsdsdsd[0], $calidad);
?>
<h2>Online</h2>
<table border="0">
    <tr>
        <td></td>
        <td width="100">Enlace</td>
        <td width="100">Audio</td>
        <td width="100">Calidad</td>
    </tr>
<?php
foreach ($online[1] as $key => $value) {
?>
    <tr>
        <td>#<?php echo $key+1; ?></td>
        <td><a hre
        <td><a href="<?php echo $online[1][$key]; ?>">Ver online...</a></td>
        <td><?php echo $audios[1][$key]; ?></td>
        <td><?php echo $calidad[1][$key]; ?></td>
    </tr>
<?php } ?>
</table>

Algo más?
 
Última edição:

gracias por ayudarme brother pero como mencione en el hilo quiero aprender y no entiendo por que en las opciones de descarga esta en $adsdsdsd[1] y en online en $adsdsdsd[0] se agradece la explicación 😉
 
gracias por ayudarme brother pero como mencione en el hilo quiero aprender y no entiendo por que en las opciones de descarga esta en $adsdsdsd[1] y en online en $adsdsdsd[0] se agradece la explicación 😉

esa variable porque no supe qué nombre poner, el 0 y 1, es porque estamos dividiendo la página en dos, desde Opciones para descargar, porque tenemos que obtener el audio y la calidad, pero como en las opciones online y descarga, tiene la misma estructura el HTML, entonces para eso separe la página :encouragement: el 1 nos muestra la página de Opciones para descargar para abajo y el 0, para arriba.

PHP: explode - Manual
 
esa variable porque no supe qué nombre poner, el 0 y 1, es porque estamos dividiendo la página en dos, desde Opciones para descargar, porque tenemos que obtener el audio y la calidad, pero como en las opciones online y descarga, tiene la misma estructura el HTML, entonces para eso separe la página :encouragement: el 1 nos muestra la página de Opciones para descargar para abajo y el 0, para arriba.

PHP: explode - Manual

error mio borro mensaje lo siento
 

Tópicos similares

Voltar
Topo