Ayudita con curl php

  • Autor Autor xaiborweb
  • Fecha de inicio Fecha de inicio
xaiborweb

xaiborweb

Programador
No recomendado
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de 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;

?>
 
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 edició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 😉
 
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
 

Temas similares

Atrás
Arriba