CURL kullanarak görüntüleri nasıl?

0 Cevap php

Sayfayı kazıma, ben metin ile birlikte görüntüleri istiyorum.

Şu anda sadece metin kazımak mümkün değilim. Örneğin, bir test komut dosyası gibi, Google'ın ana sayfasını kazınarak ve sadece metin, resim (Google logosu) görüntülenir.

I also created another test script using Redbox, with no success, same result. Here's my attempt at scraping the Redbox 'Find a Movie' page:

<?php

$url = 'http://www.redbox.com/Titles/AvailableTitles.aspx';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result= curl_exec ($ch);
curl_close ($ch);
echo $result;

?>

sayfa vb eksik kutu sanat, eksik komut, kırıldı

FF adlı Firebug'ın uzantısı 'Net' aracı (beni başlıkları ve dosya yolları kontrol sağlar) baktığımızda, ben Redbox images ve css dosyaları / (404 bulunamadı) eksik yüklü olmadığını keşfetti. Benim tarayıcı yanlış yerde redbox resimlere ve css dosyaları arıyordum çünkü neden, o fark ettim.

Apperently Redbox görüntüleri ve css dosyaları aynı şekilde Google'ın logosu için, etki alanına göre yer almaktadır. Yukarıda benim komut dosyaları yolu için üs olarak onun etki alanı kullanarak eğer öyleyse, bunu nasıl değiştirebilir?

Hayır şans Aşağıda komut ile ana ve referer istek başlıklarını değiştirerek denedim, ve ben yoğun google'dan, ama.

Benim düzeltme girişimi:

<?php

$url = 'http://www.redbox.com/Titles/AvailableTitles.aspx';
$referer = 'http://www.redbox.com/Titles/AvailableTitles.aspx';

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Host: www.redbox.com") );
curl_setopt ($ch, CURLOPT_REFERER, $referer); 
curl_setopt($ch, CURLOPT_NOBODY, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result= curl_exec ($ch);
curl_close ($ch);
echo $result;

?>

I hope I made sense, if not, let me know and I'll try to explain it better. Any help would be great! Thanks.

UPDATE


Thanks to everyone(especially Marc, and Wyatt), your answers helped me figure out a method to implement.
I was able to succesfully test by following the steps below:

  1. Wget ile sayfa ve koşul indirin.
  2. <base href="..." /> indirilen sayfanın başlığına ekleyin.
  3. Geçici bir sunucuya Wput aracılığıyla revize indirilen sayfa ve özgün koşul yükleyin.
  4. Tarayıcı üzerinden geçici sunucuda Testi tarih sayfası
  5. If the uploaded page is not displayed properly, some of the requisites might be missing still(css,jss,ect). View which are missing via a tool that lets you view header responses(eg. the 'net' tool from FF's Firebug Addon). After locating the missing requisites, visit original page that the uploaded page is based on, take note of proper requisite locations that were missing, then revise the downloaded page from step 1 to accommodate the new proper locations and begin at step 3 again. Else, if page is rendered properly, then success!

Not: Ben kodu elle düzenlenebilir indirilen sayfayı tekrar yaparken, ben size ifadenin veya işlemini otomatikleştirmek için Curl isteği üzerine bir ayrıştırma kütüphanesi kullanabilirsiniz eminim.

0 Cevap