สอน codeigniter ดึงรูปทั้งหมดจากหน้าเว็บด้วย simple_html_dom

php-codeigniter-framework
php-codeigniter-framework

สอน codeigniter ดึงรูปทั้งหมดจากหน้าเว็บด้วย simple_html_dom



สอน codeigniter ดึงรูปทั้งหมดจากหน้าเว็บด้วย simple_html_dom
simple_html_dom เป็น php Class ที่ถูกพัฒนาขึ้นมาสำหรับการดึงข้อมูลจากหน้าเว็บและสามารถเข้าถึง Element ข้อมูลในหน้านั้น ๆ ทั้ง div class, id, attribute นั้นทำให้เราสามารถรู้ว่าแท็ก img แอททริบิวต์ src มีค่าและแสดงรูปอะไร

เราสามารถนำ simple_html_dom มาใช้งานร่วมกับ codeigniter ในลักษณะ third party ได้ ลองมาดูกันครับว่า จะสามารถใช้งานได้อย่างไร

ประโยชน์ของคลาส simple_html_dom

– ใช้โหลดข้อมูลจากหน้าเว็บไซต์ได้ทั้งหน้า
– สามารถเข้าถึงข้อมูลต่าง ๆ ในหน้าเว็บง่าย ๆ ในรูปแบบ Array Object
– เร็ว

ดาวน์โหลดและติดตั้ง simple_html_dom.php

1. ดาวน์โหลด simple_html_dom คลาส unzip และวางไว้ที่โฟลเด้อ application/third_party
2. สร้าง Controller ตั้งชื่อว่า HtmlController.php ในส่วนของ Construct ให้โหลดคลาสมาใช้งานดังนี้

class HtmlController extends CI_Controller {

    function __construct() {
        parent::__construct();

        // โหลด simple_html_dom 
        include APPPATH . 'third_party/simple_html_dom.php';
    }

3. ในส่วนของ index ให้ประกาศใช้งาน simple_html_dom คลาสดังนี้

<?php

class HtmlController extends CI_Controller {

    function __construct() {
        parent::__construct();
        
        // โหลด simple_html_dom 
        include APPPATH . 'third_party/simple_html_dom.php';
    }

    function index() {

        $html = new Simple_html_dom(); // ประกาศใช้งานคลาส
        $html->load_file('http://www.codebee.co.th/labs/'); //เลือกโหลดเว็บไซต์
        foreach ($html->find('img') as $element) { // ใช้เมธอด find ค้นหา img element
            echo $element->src . '<br>'; // แสดงค่าในแอททริบิวร์ src
        }
    }

}
?>

4. และเมื่อเราทดสอบการทำงานโดยเปิดไปที่ HtmlController จะได้ Output เป็น path ของรูปทั้งหมดที่มีในหน้าเว็บ

onesignal-เว็บ-push-notification-6-730x410.jpg
จากนั้นจะขึเนสถานะการลงแอปให้รอจนกว่าจะดำเนินการจนเสร็จ-730x410.png
php-codeigniter-framework-730x304.png
วิธีทำลิงค์เพิ่มเพื่อนโปรแกรม-line-730x410.png
google-adword-ไฟล์-excel-730x410.jpg
.......................

การใช้งานคลาสในลักษณะนี้นิยมนำไปใช้ในการดึงข้อมูลบางอย่างจากเว็บไซต์ที่ให้บริการข้อมูลสาธารณะที่ยังไม่มี API ให้ใช้งาน ตัวอย่างเช่น Google Currency บริการแปลงค่าเงินจากสกุลเงินทั่วโลก เราสามารถใช้คลาสนี้ในการไปดึงข้อมูลค่าเงินมาแสดงภายในเว็บไซต์ของเราได้ หรือแม้แต่การดึงข้อมูลฉลากกินแบ่งรัฐบาล ก็สามารถทำได้เช่นกัน