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

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

ThaiSEOBoard.comพัฒนาเว็บไซต์Programming[บทที่ 3]สอนเขียน PHP ดึงข่าวจาก LINE TODAY เก็บลงฐานข้อมูล Step by Step[สายเทา]
หน้า: 1 2 3 [4]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: [บทที่ 3]สอนเขียน PHP ดึงข่าวจาก LINE TODAY เก็บลงฐานข้อมูล Step by Step[สายเทา]  (อ่าน 15203 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
skscale
คนรักเสียว
*

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

กระทู้: 185



ดูรายละเอียด เว็บไซต์
« ตอบ #60 เมื่อ: 15 ธันวาคม 2016, 16:39:10 »

ขอบคุณมากครับ ยังกับดูหนังภาคต่อเลย  wanwan024 wanwan024
บันทึกการเข้า

Oxiam
คนรักเสียว
*

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

กระทู้: 175



ดูรายละเอียด
« ตอบ #61 เมื่อ: 15 ธันวาคม 2016, 17:00:14 »

ขอบคุณครับ แต่เสียวๆ ว่าหลังจากนี้ Line จะโดนถล่มหรือเปล่า  Tongue
บันทึกการเข้า

แนะนำโฆษณา Popunder เรทพอประมาณแต่...ได้วิวโคตรเยอะ
 คลิกเลย
userhuman
ก๊วนเสียว
*

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

กระทู้: 215



ดูรายละเอียด เว็บไซต์
« ตอบ #62 เมื่อ: 15 ธันวาคม 2016, 17:04:37 »

ขอสอบถามนิดนึงนะครับ ว่าทำไมถึงใช้ CURL แทนที่จะใช้ DOM Document อะครับ

ถามเพื่อเป็นความรู้เฉยๆนะครับ  wanwan017
บันทึกการเข้า

OmegaBoss
ก๊วนเสียว
*

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

กระทู้: 317



ดูรายละเอียด
« ตอบ #63 เมื่อ: 15 ธันวาคม 2016, 17:23:18 »

น่าติดตามมากครับ  wanwan003
บันทึกการเข้า
powerpc
Verified Seller
สมุนแก๊งเสียว
*

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

กระทู้: 821



ดูรายละเอียด
« ตอบ #64 เมื่อ: 15 ธันวาคม 2016, 17:36:30 »

ขอสอบถามนิดนึงนะครับ ว่าทำไมถึงใช้ CURL แทนที่จะใช้ DOM Document อะครับ

ถามเพื่อเป็นความรู้เฉยๆนะครับ  wanwan017

ทำงานคนละจุดประสงค์ครับ

curl เป็นเหมือนโปรแกรมบราวเซอร์ ที่ทำงานตั้งแต่ต้นทางเพื่อขอข้อมูลจาก server ซึ่ง curl สามารถแปลงร่างเป็นอะไรก็ได้ (อาจจะเว่อร์ไปหน่อย แต่คือเหมือนหลอก server ว่าเป็นบราว์เซอร์ได้) เพื่อติดต่อกับ server เป้าหมาย แล้วเอาข้อมูลที่ response ออกมาจาก server มาใช้งาน

DOM Document เป็นปลายทาง ที่ได้ข้อมูลมาแล้ว เอามาจัดการตามที่ต้องการ

จริง ๆ ก็ใช้ curl ดึงข้อมูลมา แล้วใช้ DOM Document มาจัดการข้อมูลอีกที

จะบอกว่าถ้าจะเขียน php เพื่อติดต่อกับ server อื่น curl คือพระเอกตัวจริง รายละเอียดลึก ๆ ลองหาข้อมูลดูครับ ผมก็พอใช้เป็น ^^
« แก้ไขครั้งสุดท้าย: 15 ธันวาคม 2016, 17:38:05 โดย powerpc » บันทึกการเข้า

powerpc
Verified Seller
สมุนแก๊งเสียว
*

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

กระทู้: 821



ดูรายละเอียด
« ตอบ #65 เมื่อ: 15 ธันวาคม 2016, 17:59:04 »

บทที่ 3 คัดเอาแต่เนื้อ

ในบทนี้จะเป็นการคัดกรองเอาเฉพาะส่วนที่เป็นสิ่งสำคัญ นั่นก็คือ url ของข่าวแต่ละข่าวในหน้า Line Today เพื่อที่เราจะเก็บข้อมูลข่าวทั้งหมดมาไว้ในกำมือของเราได้
กระบวนการก็ไม่ยุ่งยาก เพียงแต่ต้องสังเกตโค้ดต้นฉบับของ Line Today ว่าส่วนในหรือส่วนที่เราต้องการ โดยทำการ view code ดูจะได้ส่วนที่ต้องการดังภาพ



ส่วนนี้จะเป็นส่วนเนื้อหาของหน้า Line Today ที่เราสามารถตามสืบต่อไปได้ว่า ลิ้งไหนคืออะไร แต่เราจะทำการตัดเอาเฉพาะส่วนนี้มาก่อน โดยใช้ get_string_between()
แต่ใครจะไม่ตัดก็ได้ เพราะขั้นตอนต่อไป จะสำคัญกว่านี้และทำหน้าที่ครั้งเดียวได้เลย แต่เอาเป็นว่าลองใช้ดูหน่อยจะได้คุ้นเคย คำสั่งคือ

โค๊ด:
$text = get_string_between($contents,"<script>var categoryJson =","</script>");

จากนั้นเราจะได้ส่วนของเนื้อหามาเก็บไว้ในตัวแปร $text แล้วก็เข้าสู่กระบวนการสำคัญคือ การคัดกรองเอาเฉพาะลิ้งที่เป็นข่าว ซึ่งมีรูปแบบประมาณนี้
โค๊ด:
https://today.line.me/th/article/df7e6a27d63574ba146fbfc8526f6a197508b56784dbb57577e82d74f4426d82

โดยเราจะใช้ function พระเอกที่มีชื่อว่า preg_match_all() ซึ่งมีหน้าที่ตัดเอาเฉพาะส่วนที่เราต้องการ โดยอาศัยการกำหนดรูปแบบ regular expression ใครไม่รู้จักไปอ่านเพิ่มเอานะครับ โดยการใช้มีรูปแบบคำสั่งดังนี้

โค๊ด:
preg_match_all ("/https://today.line.me/th/article/(.*)"/U", $text, $result);

โดยใช้ $text เป็นข้อความทั้งหมด และ ผลที่ได้จะถูกเก็บใน $result ในรูปแบบ array

ลองมาดูโค้ดเต็มๆ กัน โดยการสร้างไฟล์ bot-03.php แล้วใส่โค้ดดังนี้

โค๊ด:
<?php
function 
get_contents($url){
$ch curl_init(); 
curl_setopt($chCURLOPT_RETURNTRANSFER1);
curl_setopt($chCURLOPT_SSL_VERIFYPEERfalse);
curl_setopt($chCURLOPT_USERAGENT,"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.0 Safari/537.36");
curl_setopt($chCURLOPT_URL$url); 

$data curl_exec($ch); 
curl_close($ch);
return $data;
}

function get_string_between($string,$start,$end){
$arr explode($start,$string);
$arr explode($end,$arr[1]);
return $arr[0];
}

$url "https://today.line.me/th";
$contents get_contents($url);

$text get_string_between($contents,"<script>var categoryJson =","</script>");

preg_match_all ("/https://today.line.me/th/article/(.*)"/U", $text$result);

echo "
<pre>";
print_r(
$result);
echo "
</pre>";
?>


เสร็จแล้วลองรันดู จะได้ผลลัพท์เป็น array ที่เก็บ url และ hash ของข่าวที่อยู่ใน Line Today นะเวลาปัจจุบันทั้งหมดออกมา
http://class.undergroundclass.com/linetoday/bot-03.php



จบบทที่ 3
บันทึกการเข้า

Shaytalay
Newbie
*

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

กระทู้: 48



ดูรายละเอียด
« ตอบ #66 เมื่อ: 15 ธันวาคม 2016, 18:07:35 »

ขอสอบถามครับ ถ้าอยากเขียนแบบ ไม่ใช้ \ ต้องทำยังไงหรอครับ
โค๊ด:
$text =  get_string_between($contents,"<meta name=\"description\" content=\"","โดย LINE TODAY\">");

แบบนี้ก็ได้ครับ
อ้างถึง
$text =  get_string_between($contents,'<meta name="description" content="','โดย LINE TODAY">');


ขอบคุณครับ wanwan017 wanwan017
บันทึกการเข้า
userhuman
ก๊วนเสียว
*

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

กระทู้: 215



ดูรายละเอียด เว็บไซต์
« ตอบ #67 เมื่อ: 15 ธันวาคม 2016, 18:10:36 »

ขอสอบถามนิดนึงนะครับ ว่าทำไมถึงใช้ CURL แทนที่จะใช้ DOM Document อะครับ

ถามเพื่อเป็นความรู้เฉยๆนะครับ  wanwan017

ทำงานคนละจุดประสงค์ครับ

curl เป็นเหมือนโปรแกรมบราวเซอร์ ที่ทำงานตั้งแต่ต้นทางเพื่อขอข้อมูลจาก server ซึ่ง curl สามารถแปลงร่างเป็นอะไรก็ได้ (อาจจะเว่อร์ไปหน่อย แต่คือเหมือนหลอก server ว่าเป็นบราว์เซอร์ได้) เพื่อติดต่อกับ server เป้าหมาย แล้วเอาข้อมูลที่ response ออกมาจาก server มาใช้งาน

DOM Document เป็นปลายทาง ที่ได้ข้อมูลมาแล้ว เอามาจัดการตามที่ต้องการ

จริง ๆ ก็ใช้ curl ดึงข้อมูลมา แล้วใช้ DOM Document มาจัดการข้อมูลอีกที

จะบอกว่าถ้าจะเขียน php เพื่อติดต่อกับ server อื่น curl คือพระเอกตัวจริง รายละเอียดลึก ๆ ลองหาข้อมูลดูครับ ผมก็พอใช้เป็น ^^

โอ๊ว ขอบคุณครับ  wanwan017  wanwan011
บันทึกการเข้า

googlerich
สมุนแก๊งเสียว
*

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

กระทู้: 534



ดูรายละเอียด เว็บไซต์
« ตอบ #68 เมื่อ: 21 กันยายน 2019, 01:07:59 »

 wanwan003 ขอบคุณครับ
บันทึกการเข้า

ไทยเฮิร์บออนไลน์
สินค้าสมุนไพร
คอร์ดกีต้าร์
คอร์ดเพลง
สมุนไพรขายส่ง

http://woodychannel.com/ วู๊ดดี้พาเที่ยว กินเที่ยวสบายๆ สไตล์วู๊ดดี้
http://woodysay.com/ วู๊ดดี้เซย์
Twenty-One
Verified Seller
เจ้าพ่อบอร์ดเสียว
*

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

กระทู้: 11,751



ดูรายละเอียด เว็บไซต์
« ตอบ #69 เมื่อ: 21 กันยายน 2019, 07:19:42 »

เจ๋งมากครับ ดึงข้อมูลจาก line มาเก็บ ไว้ใช้

ขอบคุณครับ

 wanwan017
บันทึกการเข้า

# บริการโฮสติ้งขั้นเทพ 24/7 เปิดให้บริการ web hosting มาแล้ว 14 ปี ลูกค้ากว่า 40,000 ราย ให้ความไว้วางใจ
# hosting คุณภาพสูง ดูแลระบบโดย system engineer ประสบการณ์สูง
# host เร็ง แรง ไม่มีล่ม ติดตั้ง cms ฟรี
# vps ราคาถูก 50GB 999 บาท

kaimook002
Newbie
*

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

กระทู้: 61



ดูรายละเอียด
« ตอบ #70 เมื่อ: 22 กันยายน 2019, 13:43:56 »

ขอบคุณค่ะ
บันทึกการเข้า
kaimook002
Newbie
*

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

กระทู้: 61



ดูรายละเอียด
« ตอบ #71 เมื่อ: 22 กันยายน 2019, 14:51:01 »

ตามคะ
บันทึกการเข้า
gamekittituh
คนรักเสียว
*

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

กระทู้: 134



ดูรายละเอียด เว็บไซต์
« ตอบ #72 เมื่อ: 22 กันยายน 2019, 20:08:29 »

ติดตามครับ  wanwan003
บันทึกการเข้า

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

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

กระทู้: 8,272



ดูรายละเอียด เว็บไซต์
« ตอบ #73 เมื่อ: 27 กันยายน 2019, 11:57:42 »


 wanwan029
บันทึกการเข้า

จูมล่าโฮส สยามโฮสเว็บ modty.com
รวมที่พัก เช่ารายวัน ที่พักเช่ารายเดือนมากที่สุดแจ่มจริง
***Tel 083-757-1515 ติดปัญหา Joomla ตรงไหนรับปรึกษาฟรี โทรมาเถอะครับ ถ้าตอบได้ช่วยแน่นอน ไม่มีกั้ก. ***
seohomepro
ก๊วนเสียว
*

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

กระทู้: 455



ดูรายละเอียด เว็บไซต์
« ตอบ #74 เมื่อ: 27 สิงหาคม 2020, 14:42:20 »

สุดยอดดดด
บันทึกการเข้า

acomthail
คนรักเสียว
*

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

กระทู้: 136



ดูรายละเอียด
« ตอบ #75 เมื่อ: 29 สิงหาคม 2020, 12:04:37 »

ใช้ไม่ได้แล้วหรอครับ
php curl https://today.line.me/th/v2/tab wanwan044
บันทึกการเข้า

ใครอยากได้ Facebook, YouTube, Google/Gmail, Twitter, Tinder, Instagram, Yahoo, Hotmail  รับจ้างสมัครไอดี ติดต่อ inbox มาเลยครับ
หน้า: 1 2 3 [4]   ขึ้นบน
พิมพ์