Cara mendapatkan semua harga produk dari website dengan curl

Saya mencoba menggunakan CURL untuk mendapatkan semua harga produk dari situs ini tetapi saya tidak begitu tahu cara mengikis semua harga untuk setiap produk di situs ini http://www.bikestore.ie/.

bisakah seseorang memberi saya beberapa tip?

Saat ini saya hanya menguji untuk mendapatkan satu harga untuk suatu produk dan itu tidak masalah, tetapi bisakah saya mendapatkan harga yang tepat untuk semua produk??

kode saya sekarang adalah:

 public function Scrape(){

    $curl = curl_init('http://www.bikestore.ie/scott-speedster-30-bike-2015.html');
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
    $page = curl_exec($curl);

    if(!empty($curl)){

        $doc = new DOMDocument;
        $doc->loadHTML($page);

        $xpath = new DOMXPath($doc);
        $rupees = $xpath->evaluate('string(//div[@class="product-shop"]//div[@class="price-box"]//span[@class="price"])');
        echo $rupees;
    }
    else {
        print "Not found";
    }

person Webbie    schedule 05.07.2015    source sumber


Jawaban (1)


Ini bukan tugas yang mudah. Situs ini terstruktur. Tapi setiap produk didefinisikan dalam url. misal: http://www.bikestore.ie/scott-speedster-30-bike-2015.html saat Anda menambahkannya ke keranjang, pengenal produk unik terlihat:enter  deskripsi gambar di sini

Langkah

  1. Merayapi seluruh situs dengan cURl (temukan semua tautan <a> produk). Lihat postingan di crawler python sederhana, Anda cukup membuatnya serupa dengan php.
  2. Simpan di DB (mis. MySQL)
  3. Untuk setiap tautan, Anda menjalankan prosedur Scrape() untuk mengambil harga/id produk. Mendapatkan harga suatu produk Anda menandai tautannya sebagai 'dicentang' di DB sehingga Anda tidak menjalankannya sekali lagi.

Catatan: Demi pemrosesan paralel, Anda dapat menjalankan proses poin 1&2 dan poin 3 secara paralel. Gunakan cron untuk ini.

person Igor Savinkin    schedule 06.07.2015