หัวข้อ: พอจะมีวิธีใช้ CURL ดึงข้อมูลหน้าเว็บที่ใช้ AJAX บ้างหรือเปล่าครับ เริ่มหัวข้อโดย: Narkorns ที่ 26 มกราคม 2018, 00:39:12 สวัสดีครับ คำถามตามหัวข้อเลยครับ พอดีนั่งงมมาประมาณ 4 วันแล้วครับหาวิธีไม่ได้สักที
เป้าหมายของผมคือใช้ CURL เก็บข้อมูลหน้าเว็บตาม URL เช่น httpx://www.example/category/?page=1 httpx://www.example/category/?page=2 httpx://www.example/category/?page=3 แต่กลับได้ข้อมูลหน้าเว็บแบบเดียวกันมาเลยครับ ซึ่งผมได้ตรวจสอบดูแล้วเวลาเปลี่ยนหน้า จะเรียกหน้าที่เป็น AJAX มาตามลิงค์แบบน้ี้ เช่น httpx://www.example/category/?ajax=t&page=1 httpx://www.example/category/?ajax=t&page=2 httpx://www.example/category/?ajax=t&page=3 ซึ่งผลก็ลองใช้ CURL เรียก URL ตามด้านบน ข้อมูลที่ได้เป็นข้อมูลแบบ JSON แต่ข้อมูลกลับเหมือนเดิม และเหมือนกันทุกหน้า ตามแบบแรกเลยครับ ต่างกันเพียงรูปแบบข้อมูล โค้ดหลัก ๆ ที่ผมใช้มีดังนี้ครับ $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $result = curl_exec ($ch); curl_close ($ch); echo $result; ประมาณนี้ครับ.... ส่วนเรื่องการลองก็ลองเปลี่ยนและเพิ่มตัว curl_setopt ตามที่หาวิธีแก้จากเว็บต่าง ๆ แต่ก็ไม่ได้ผลครับ มีใครที่เคยเจอปัญหาแบบนี้บ้างหรือเปล่าครับ หรือใครพอจะมีวิธีแนะนำบ้างครับ ขอบคุณครับ :wanwan017: :wanwan017: หัวข้อ: Re: พอจะมีวิธีใช้ CURL ดึงข้อมูลหน้าเว็บที่ใช้ AJAX บ้างหรือเปล่าครับ เริ่มหัวข้อโดย: topbaba2 ที่ 26 มกราคม 2018, 00:54:13 มันไม่ใช่ ajax ครับ เค้าตั้งชื่อ query ไว้ว่า ajax เฉยๆ
ทีนี้ลองเช็ค header ที่ส่ง request ดูครับ ฝั่งนู้นอาจจะเขียนกันบอทไว้ ดังนั้นเราต้องเลียนแบบการทำงานของบราวเซอร์ให้ได้มากที่สุดครับ ใช้ chrome ดูว่าเราส่ง request อะไรไปตอนเข้าไปที่หน้านั้น หัวข้อ: Re: พอจะมีวิธีใช้ CURL ดึงข้อมูลหน้าเว็บที่ใช้ AJAX บ้างหรือเปล่าครับ เริ่มหัวข้อโดย: Narkorns ที่ 26 มกราคม 2018, 09:53:23 มันไม่ใช่ ajax ครับ เค้าตั้งชื่อ query ไว้ว่า ajax เฉยๆ ทีนี้ลองเช็ค header ที่ส่ง request ดูครับ ฝั่งนู้นอาจจะเขียนกันบอทไว้ ดังนั้นเราต้องเลียนแบบการทำงานของบราวเซอร์ให้ได้มากที่สุดครับ ใช้ chrome ดูว่าเราส่ง request อะไรไปตอนเข้าไปที่หน้านั้น ขอบคุณมากครับ ต้องดูที่ส่วนของ Request Header ใช่หรือเปล่าครับ แล้วการส่ง Request เลียนแบบการทำงานของบราวเซอร์ นี่ใช้ CURLOPT_HEADER ใช่หรือเปล่าครับ |