NOVINKA: Získej 40 hodin praktických dovedností s AI – ZDARMA ke každému akreditovanému kurzu!
Mezinárodní den IT společnosti je tady! Pouze nyní můžeš získat 90 % extra kreditů při nákupu od 1199 kreditů s promo kódem AJTACI90. Tak neváhej!

Diskuze: PHP sťahovanie dát od 3 strany

V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Jak se ti líbí článek?
Před uložením hodnocení, popiš prosím autorovi, co je špatněZnaků 0 z 50-500
Jak se ti kurz líbí?
Tvé hodnocení kurzuZnaků 0 z 50-500
Aktivity
Avatar
MichalOškera:13.12.2020 12:54

Dobrý deň,
potrebujem spraviť stiahnutie dát z cudzej stránky spravil som takto viacero webstránok všade to funguje, ale na tomto portáli

https://www.porntrex.com/embed/1264770

,ako náhle použijem file_get_contents alebo curl_init tak server mi pošle link, ale trošku sa kód zmení a už odkaz na video nefunguje.

Link na webe:

https://www.porntrex.com/get_file/10/4dcb6e602210199907686e1cefa3b98399e1337b90/1264000/1264770/1264770.mp4/?embed=true

Link po stiahnutí

https://www.porntrex.com/get_file/10/4dcb6e602210199907686e1cefa3b98371569d252c/1264000/1264770/1264770.mp4/?embed=true
Zkusil jsem:
function multiexplode ($delimiters,$string) {
    $ready = str_replace($delimiters, $delimiters[0], $string);
    $launch = explode($delimiters[0], $ready);
    return  $launch;
}

$url = htmlspecialchars(file_get_contents('https://www.porntrex.com/video/1264770/mistress-t-milfs-cocksucking-lesson-5'));


  $doc = new DOMDocument();
  libxml_use_internal_errors(true);
  $doc->loadHTML(mb_convert_encoding(htmlspecialchars_decode($url), 'HTML-ENTITIES', 'UTF-8'));
  $selector = new DOMXpath($doc);

  foreach ($selector->query('//div[@class="content"]/div[@class="block-video"]/div[@class="video-holder"]/div[@class="player"]/div[@class="player-holder"]/script') as $li) {$JavaScript[] = $li->nodeValue;}

  // Nacitat JS s video
  $start = end(explode("video_url:", htmlspecialchars_decode($JavaScript[1])));
  $html  = current(explode("timeline_screens_url:", $start));

  //Rozdelenie Vieda
  $html  = str_replace("'", null, 'video_url:'.$html);
  $html  = str_replace("https://", null, $html);
  $array = multiexplode(array(",",":"),$html);

  for($i=0;$i<count($array);$i++){

    $key   = str_replace(" ", "", trim($array[$i]));
    $value = str_replace(" ", "", trim($array[$i+1]));

    if(!empty($key)){
      $video[$key] = $value;
    }

    $i = $i+1;
  }

  $vypocet = ceil(count($video) / 2);

  for($i=0;$i<$vypocet;$i++){

    if($i == 0){
          $url  = $video['video_alt_url'];
      $donwload = $video['video_alt_url'].'?download=true&download_filename=Porno.mp4';
      $quality  = $video['video_alt_url_text'];
    }else{
          $url  = $video['video_alt_url'.$i];
      $donwload = $video['video_alt_url'.$i].'?download=true&download_filename=Porno.mp4';
      $quality  = $video['video_alt_url'.$i.'_text'];
    }

    if(!empty($url) && !empty($quality)){
      $result[] = array("url" => $url, "quality" => $quality, "donwload" => $donwload);
    }
  }





  echo '<pre>';
  print_r($result);
  echo '</pre>';
  //Vysledok
  for($i=0;$i<count($result);$i++){
    echo $result[$i][quality].':<a href="https://'.$result[$i][url].'">Odkaz na video</a>-<a href="https://'.$result[$i][donwload].'">Stiahnut</a><br>';
  }

Výstup:

Array
(
    [0] => Array
        (
            [url] => www.porntrex.com/get_file/10/4dcb6e602210199907686e1cefa3b98371569d252c/1264000/1264770/1264770.mp4/
            [quality] => 480p
            [donwload] => www.porntrex.com/get_file/10/4dcb6e602210199907686e1cefa3b98371569d252c/1264000/1264770/1264770.mp4/?download=true&download_filename=Porno.mp4
        )

    [1] => Array
        (
            [url] => www.porntrex.com/get_file/10/2bcebb35c844303a074dec74d378db4127a5450b2e/1264000/1264770/1264770_720p.mp4/
            [quality] => 720pHD
            [donwload] => www.porntrex.com/get_file/10/2bcebb35c844303a074dec74d378db4127a5450b2e/1264000/1264770/1264770_720p.mp4/?download=true&download_filename=Porno.mp4
        )

)

Chci docílit: Existuje nejaká funkcia, aby som sa tváril ako užívateľ na stránke?

 
Odpovědět
13.12.2020 12:54
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:13.12.2020 16:28
      $donwload = $video['video_alt_url'.$i].'?download=true&download_filename=Porno.mp4';
donwload
download
down+load to je spojeni slov

Je mozne, ze web pouziva ochranu. Do toho halabalo kodu prida tve id session nebo casove razitko expirace stranky. Krome toho muzou mit i dalsi ochrany proti vykradani obsahu stranky.
Mne to treba pro ty prvni odkazy pise: Access denied (errno 3)
Mimochodem, dneska frci online webkamery, ktere jsou nekdy free, jen si nesmis ukladat obsah.

Editováno 13.12.2020 16:29
 
Nahoru Odpovědět
13.12.2020 16:28
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 2.