[PHP]สคริปที่ดึงข้อมูลเว็บ

เริ่มโดย webdevils, 14 สิงหาคม 2008, 15:00:16

หัวข้อก่อนหน้า - หัวข้อถัดไป

0 สมาชิก และ 1 ผู้มาเยือน กำลังดูหัวข้อนี้

webdevils

สคริปที่ดึงข้อมูลเว็บอื่นมาลงใส่ดาต้าเบสหรือสร้างหน้าhtmlของเรา พวกสคริปประเภทนี้เขาเรียกเป็นภาษาอังกฤษว่าอะไรหรอครับ แล้วแนวคิดมันเป็นยังไงครับ ใช้ฟังค์ชั่นประเภทไหนครับ อยากศึกษาครับ ลองphpมาได้ไม่นาน ไม่รู้จะไปลองฟังค์ชั่นไหน   :-*
[direct=https://my.hawkhost.com/aff.php?aff=15523]hawkhost 10GB ปีละ 800 บาท[/direct]

m-16-150

<?php require("xxxxxxxxx.php"); ?>

เปลี่ยน xxxxxxxxx.php  เป็น ชื่อไฟร์หรือ url ที่เราอยากให้ผุดขึ้นในเว็นเรา
::)
นอกจากทุกข์แล้ว ไม่มีอะไรเกิดขึ้น...
นอกจากทุกข์แล้ว ไม่มีอะไรตั้งอยู่...
นอกจากทุกข์แล้ว ไม่มีอะไรดับไป...

[direct=http://www.4shared.com/file/46937784/81e3f280/-_online.html?dirPwdVerified=4d2f7016][/direct][direct=http://babybabystroller.wordpress.com][/direct][direct=http://www.feedbite.com/user/senoma07][/direct][direct=http://www.feedbite.com/user/star5cometo][/direct]

navico

เคยเขียนมั่วๆ อยู่ทีหนึ่ง
ต้องขอบคุณ auto post Flixya

ball6847

เรียกว่า 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 เท่านั้นที่เอาอยู่)



อ้างถึงจาก: m-16-150 ใน 14 สิงหาคม 2008, 15:10:34
<?php require("xxxxxxxxx.php"); ?>

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

อันนี้อย่าเอามาเปิด url นะคับ อาจจะวิบัติ  โดยเฉพาะถ้าไม่ใช่ของเรา :P
We use Ubuntu.

[direct=http://ng-seo.sourcelab.xyz/]AngularJS SEO Experimental[/direct]

EThaiZone

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

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

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

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

kero

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

;D regular ไม่รู้จัก ทำไม่เป็น
[direct=http://www.my-astore.com/]Amazon Review Blog[/direct] ไม่เคยได้เงินกะเขาเล้ย เฮ้อ
[direct=http://www.kero.me/]Blog คนบ้า[/direct] 555 Blog ผมเองครับเอาไว้นั่งบ่น

tinnoi

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

ปกติ เคยเล่นแต่ file_get_contents ครับ
[direct=https://trainee.naruthee.com]หาที่ฝึกงาน[/direct] ,
[direct=http://www.piyamitrgroup.com]รับรื้อถอน[/direct] ,
[direct=https://fastvisa2024.weebly.com/]รับทำวีซ่า[/direct] ,
[direct=https://business.10thai.com]10thai[/direct]

manteeen

ดีครับ ได้ความรู้มากเลย  :-*

etgsgroup

ขอบคุณครับเมื่อใช้อย่างเดียว ไม่รู้เลย ว่าอะไรเป็นอะไร  :-* :-* :-* ได้ตาสว่างขึ้นตั้งเยอะ  ;D ;D ;D
ขอบคุณ ThaiSeoBoard สำหรับความรู้ทั้งทางด้าน SEO, SEM, Affiliate ตั้งแต่สมัยที่คนไทยไม่มีความรู้เกี่ยวกับ Digital Marketing เลย ต้องอ่านจาก ต่างประเทศอย่างเดียว

EThaiZone

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

ลองไปดูได้ ใช้ได้จริง  :P