ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.comพัฒนาเว็บไซต์Programming[PHP]สคริปที่ดึงข้อมูลเว็บ
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: [PHP]สคริปที่ดึงข้อมูลเว็บ  (อ่าน 13458 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
webdevils
สมุนแก๊งเสียว
*

พลังน้ำใจ: 63
ออฟไลน์ ออฟไลน์

กระทู้: 803



ดูรายละเอียด
« เมื่อ: 14 สิงหาคม 2008, 15:00:16 »

สคริปที่ดึงข้อมูลเว็บอื่นมาลงใส่ดาต้าเบสหรือสร้างหน้าhtmlของเรา พวกสคริปประเภทนี้เขาเรียกเป็นภาษาอังกฤษว่าอะไรหรอครับ แล้วแนวคิดมันเป็นยังไงครับ ใช้ฟังค์ชั่นประเภทไหนครับ อยากศึกษาครับ ลองphpมาได้ไม่นาน ไม่รู้จะไปลองฟังค์ชั่นไหน   Kiss
บันทึกการเข้า

m-16-150
สมุนแก๊งเสียว
*

พลังน้ำใจ: 27
ออฟไลน์ ออฟไลน์

กระทู้: 580



ดูรายละเอียด
« ตอบ #1 เมื่อ: 14 สิงหาคม 2008, 15:10:34 »

โค๊ด:
<?php require("xxxxxxxxx.php"); ?>

เปลี่ยน xxxxxxxxx.php  เป็น ชื่อไฟร์หรือ url ที่เราอยากให้ผุดขึ้นในเว็นเรา
 :Smiley
บันทึกการเข้า

นอกจากทุกข์แล้ว ไม่มีอะไรเกิดขึ้น...
นอกจากทุกข์แล้ว ไม่มีอะไรตั้งอยู่...
นอกจากทุกข์แล้ว ไม่มีอะไรดับไป...

navico
Verified Seller
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 108
ออฟไลน์ ออฟไลน์

กระทู้: 2,315



ดูรายละเอียด เว็บไซต์
« ตอบ #2 เมื่อ: 14 สิงหาคม 2008, 16:01:01 »

เคยเขียนมั่วๆ อยู่ทีหนึ่ง
ต้องขอบคุณ auto post Flixya
บันทึกการเข้า
ball6847
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 212
ออฟไลน์ ออฟไลน์

กระทู้: 4,174



ดูรายละเอียด
« ตอบ #3 เมื่อ: 14 สิงหาคม 2008, 16:11:56 »

เรียกว่า scrapper คับ

แนวคิด
- โหลดเพจลงมาแล้วจัดการคัดเอาเฉพาะข้อมูลที่ต้องการแยกออกมาด้วย regular expression หรือถ้าไม่รู้วิธีใช้ regular expression ก็ต้องใช้ strpos กับ substr ในการตัดเอาข้อมูลออก ซึ่งลำบากกว่า regular expression เยอะเลย

ฟังก์ชั่น แยกชัดๆก็ 2 ประเภทคือฟังก์ชั่นที่ต้องใช้ในการดึงหน้าเว้บ กับฟังก์ชั่นที่ใช้ในการตัดข้อมูลออกมา

ฟังก์ชั่นที่ใช้ในการดึง
- fsockopen , fgets , fputs , fclose ... พวกนี้ต้องใช้เป็นชุดถึงจะดึงหน้าเพจลงมาได้  ต้องมีความรู้ในเรื่อง HTTP พื้นฐานด้วย
- fopen , fread , fwrite , fclose อันนี้คือการเปิดไฟล์นะ แต่มันสามารถเปิด url ได้ด้วย ต้องใช้เป็นชุดเหมือนกัน บางโฮสท์จะปิด  (allow_url_fopen) ซึ่งเราจะเปิด url ด้วยฟังก์ชั่นนี้ไม่ได้
- file_get_contents อันนี้เป็นฟังก์ชั่นสำเร็จจากข้างบน (fopen) เหมือนกันถ้า โฮสท์ปิด  (allow_url_fopen) ก็ใช้ไม่ได้
- curl >> ทำงานเร็วสุด แล้วเหมือนจะเป็นมาตราฐานของทุกโฮสท์ เหมือนจะให้ใช้อันนี้เป็นหลักในการดึงข้อมูล ใช้ง่ายแต่ต้องใช้เวลาศึกษา option มันสักนิด เพราะทำอะไรได้เยอะแยะมาก

**ถ้าดึงข้อมูลจากเว็บที่เป็น https เครื่องต้องมี(เปิด) openssl

นอกจากที่พูดมาข้างบนยังมี พวก class หรือ pear package ที่ทำหน้าที่พวกนี้ แต่ส่วนใหญ่ใช้ fsockopen ทั้งนั้น

แค่นี้ก็พอมั้ง

ปล. ไม่ได้ชำนาญนะ แต่ผมถนัดเรื่องนี้ที่สุดใน PHP ไปได้ทุกที่ที่ไม่มี captcha (captcha เท่านั้นที่เอาอยู่)



โค๊ด:
<?php require("xxxxxxxxx.php"); ?>

เปลี่ยน xxxxxxxxx.php  เป็น ชื่อไฟร์หรือ url ที่เราอยากให้ผุดขึ้นในเว็นเรา
 :Smiley

อันนี้อย่าเอามาเปิด url นะคับ อาจจะวิบัติ  โดยเฉพาะถ้าไม่ใช่ของเรา Tongue
บันทึกการเข้า

EThaiZone
เจ้าพ่อโลลิค่อน
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 321
ออฟไลน์ ออฟไลน์

กระทู้: 12,516



ดูรายละเอียด เว็บไซต์
« ตอบ #4 เมื่อ: 14 สิงหาคม 2008, 22:19:35 »

Curl ไม่ใช่ตัวเลือกที่ดีที่สุดนะครับ

ถ้่าต้องการเร็วมากจริงๆ ต้อง fsockopen ไปเลย เขียนสด

แถมตัว Curl หลายครั้งก็เรียก dns ช้ากว่า (ผมเคยลอง loopback เข้าโดเมนตัวเอง ผลคืออืด ต้อง fsockopen กลับเร็วกว่า)
แถม Curl มีบั๊กอยู่ เช่น 100 continues

เล่นเอาผมเครียดไปวันหนึ่งแน่ะ (ถ้าใช้ sniffer แต่แรกก็จบไม่แล้ว  Lips Sealed)
บันทึกการเข้า

kero
ก๊วนเสียว
*

พลังน้ำใจ: 6
ออฟไลน์ ออฟไลน์

กระทู้: 326



ดูรายละเอียด
« ตอบ #5 เมื่อ: 14 สิงหาคม 2008, 22:54:46 »

ใช้แต่ไอ้นี่ กับ file($filename) strpos substr 

 Grin regular ไม่รู้จัก ทำไม่เป็น
บันทึกการเข้า

Amazon Review Blog ไม่เคยได้เงินกะเขาเล้ย เฮ้อ
Blog คนบ้า 555 Blog ผมเองครับเอาไว้นั่งบ่น
tinnoi
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 89
ออฟไลน์ ออฟไลน์

กระทู้: 2,939



ดูรายละเอียด เว็บไซต์
« ตอบ #6 เมื่อ: 14 สิงหาคม 2008, 23:28:12 »

ได้ความรู้เยอะเลยครับ

ปกติ เคยเล่นแต่ file_get_contents ครับ
บันทึกการเข้า

^_^
manteeen
ก๊วนเสียว
*

พลังน้ำใจ: 20
ออฟไลน์ ออฟไลน์

กระทู้: 285



ดูรายละเอียด
« ตอบ #7 เมื่อ: 15 สิงหาคม 2008, 04:06:05 »

ดีครับ ได้ความรู้มากเลย  Kiss
บันทึกการเข้า

etgsgroup
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 149
ออฟไลน์ ออฟไลน์

กระทู้: 6,678



ดูรายละเอียด
« ตอบ #8 เมื่อ: 15 สิงหาคม 2008, 05:46:09 »

ขอบคุณครับเมื่อใช้อย่างเดียว ไม่รู้เลย ว่าอะไรเป็นอะไร  Kiss Kiss Kiss ได้ตาสว่างขึ้นตั้งเยอะ  Grin Grin Grin
บันทึกการเข้า

ขอบคุณ ThaiSeoBoard ที่ทำให้ผมมีวันนี้ มีกินมีใช้
EThaiZone
เจ้าพ่อโลลิค่อน
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 321
ออฟไลน์ ออฟไลน์

กระทู้: 12,516



ดูรายละเอียด เว็บไซต์
« ตอบ #9 เมื่อ: 15 สิงหาคม 2008, 11:32:45 »

ผมเคยเขียนตัวอย่างไว้ในกระทู้นะ
http://www.thaiseoboard.com/in...33933.msg450473.html#msg450473

ลองไปดูได้ ใช้ได้จริง  Tongue
บันทึกการเข้า

หน้า: [1]   ขึ้นบน
พิมพ์