:: ดึงข้อมูลจากหน้าเว็บไซต์ด้วย htmlSQL
โพสโดย : Administrator เมื่อ : 21 ธันวาคม 2554 08:14:01
การดึงข้อมูลจากเว็บไซต์อื่นๆ คงเป็นวิธีที่หลายๆคนนำมาใช้ในกรณีที่เว็บไซต์ตัวเองมีบทความหรือข้อมูลน้อย ประกอบกับไม่มีเวลาในการสร้างบทความหรือข้อมูลเอง ซึ่งถ้าดูเผินๆแล้วมันเป็นวิธีที่ออกจะเอาเปรียบเจ้าของข้อมูลไปหน่อย แต่ก้มีหลายเจ้าไม่น้อยที่ยืนดีให้เราดึงข้อมูลไปใช้งานกันฟรี

การดึงข้อมูลจากหน้าเว็บไซต์นั้น ปกติแล้วเรามักจะนิยมใช้งานกันผ่านภาษา XML หรือที่รู้จักกันดีคือ RSS Feed ซึ่งทางเว็บผู้เป็นเจ้าของข้อมูลจะเตรียม RSS Feed เอาไว้ให้เราดึงไปใช้งานกัน บางเจ้ามีการโต้ตอบระหว่างผู้ที่ดึงไปจนถึงขั้นทำเป็น API เลยก็มี

แต่ก็มีกรณีนึงคือทางเจ้าของข้อมูลไม่ได้เตรียม RSS Feed ไว้ให้ และเราต้องการดึงข้อมูลเหล่านั้นมาใช้งาน ไม่ว่าเจ้าของจะเต็มใจหรือไม่ก็ตาม ซึ่งวิธีการที่นิยมทั่วไปคือผ่านฟังก์ชั่นอย่าง file_get_contents ซึ่งเราจะได้ข้อมูลมาทั้งหน้า แล้วนำมาตัดด้วยวิธีการที่นิยมอย่าง Regular Expression แล้วนำข้อมูลที่ได้ไปแสดงผล

htmlSQL เป็นชุดคำสั่งภาษา PHP ที่ออกแบบมาใช้สำหรับดึงข้อมูลจากไฟล์หรือหน้าเว็บไซต์ต่างๆด้วยวิธีการ Regular Expression แต่จุดเด่นของมันคือได้ออกแบบคำสั่งในการเรียกใช้งานในรูปแบบที่เราคุ้นเคยกันเป็นอย่างดีนั่นคือในรูปแบบของภาษา SQL

โดยสำหรับชุดคำสั่ง htmlSQL นี้ทางผู้พัฒนาเขาได้ทำเอาไว้ตั้งแต่ปี 2006 ซึ่งก็ไม่มีอะไรการันตีได้ว่าจะมีปัญหากับพวกเทคโนโลยีใหม่ๆหรือป่าว และเขาก็จะไม่ช่วยเหลือหรือพัฒนามันต่อ (รึป่าว) โดยทางผู้พัฒนาแนะนำว่าให้ใช้เป็นตัวอย่างในการศึกษา ส่วนถ้าจะใช้งานกันจริงๆจังเขาบอกว่าไปลองหาตัวอื่นใช้งานกัน (มีแบบนี้ด้วย)

การใช้งานของเจ้า htmlSQL นี้ก็ไม่ยุ่งยากครับก่อนอื่นให้เราไปโหลดไฟล์มันมาก่อนที่ htmlsql-v0.5.zip และแตกไฟล์รอเอาไว้ จากนั้นในไฟล์ที่เราต้องการใช้งานให้เราเรียกคำสั่งเข้าไปผ่านทาง include แบบนี้ได้เลยครับ

<?php
include('snoopy.class.php');
include('htmlsql.class.php');
?>

จากนั้นทำการประกาศคลาสเจ้า htmlSQL ขึ้นมา

<?php
include_once("snoopy.class.php");
include_once("htmlsql.class.php");

$wsql = new htmlsql();
?>

จากนั้นทำการดึงข้อมูลจากตามตัวอย่าง

<?php
include_once("snoopy.class.php");
include_once("htmlsql.class.php");

$wsql = new htmlsql();

if (!$wsql->connect('url', 'http://codedump.jonasjohn.de/')){
	print 'Error while connecting: ' . $wsql->error;
	exit;
}

if (!$wsql->query('SELECT * FROM a WHERE $class == "nav_item"')){
	print "Query error: " . $wsql->error; 
	exit;
}

foreach($wsql->fetch_array() as $row){
	print_r($row);        
}
?>

เท่านี้เป็นอันเสร็จเรียบร้อย ซึ่งในไฟล์ที่ดาวน์โหลดมานั้นก็มีตัวอย่างแนบมาให้มากถึง 12 แบบด้วยกัน เพื่อนๆสามารถศึกษาตามตัวอย่างได้เลย

 
เข้าชม : 179 ครั้ง
ป้ายกำกับ : php, rss, api, regular, expression, htmlSQL, sql
 
ความคิดเห็นบทความ
» แสดงความคิดเห็น «
ทางเว็บไซต์ไม่มีส่วนสนับสนุน และไม่ขอรับผิดชอบต่อข้อมูลที่เกิดจากการโพสของสมาชิกทั้งหมด เช่น ข่าวสาร บทความ ความคิดเห็น เป็นต้น หากพบข้อความที่ผิดกฏระเบียบทางเว็บไซต์ หรือข้อความที่ไม่เหมาะสม กรุณาแจ้งผู้ดูแลเว็บไซต์
แสดงความคิดเห็น
กรุณารอสักครู่...กำลังโหลดข้อมูล
 
บทความอื่นๆ
Ampps โปรแกรมเว็บเซิฟเวอ...
7 มกราคม 2555 21:55:35
หายหน้าหายตาไปตั้งแต่ปีใหม่ วันนี้กลับมาเขียนบทความตาม...
แนะนำ SiXhEaD Template ส...
27 ธันวาคม 2554 02:01:08
สำหรับวันนี้ผมจะมาแนะนำ Template Engine ที่มีขนาดเล็กก...
Revolver Maps แสดงคนเข้า...
26 ธันวาคม 2554 01:16:51
สำหรับการแสดงสถิตเว็บไซต์ ส่วนมากเรามักจะเห็นกันเป็นแบ...
แสดงกล่องข้อความเมื่อนำเ...
25 ธันวาคม 2554 23:36:37
จั่วหัวแบบนี้่หลายท่านคงงง เอ๊ะมันคืออะไรยังไงหว่า ถ้า...
สร้างเครื่องเล่นมีเดียบน...
24 ธันวาคม 2554 11:03:16
การแสดงผลไฟล์มีเดียบนเว็บไซต์ในปัจจุบันมีเครื่องมือมาก...
สร้างร้านค้าออนไลน์ด้วย ...
23 ธันวาคม 2554 11:41:36
ปัจจุบันร้านค้าออนไลน์เริ่มเป็นที่นิยมในไทยกันมากขึ้น ...
รวมบทความทั้งหมด »
ลิงค์โฆษณา