ThaiSEOBoard.com

พัฒนาเว็บไซต์ => Programming => ข้อความที่เริ่มโดย: $100perday ที่ 02 มกราคม 2013, 11:55:44



หัวข้อ: ไม่ไหวแล้วครับ ขอเคลียร์งมมาข้ามปีแล้วครับ ขอความช่วยเหลือที
เริ่มหัวข้อโดย: $100perday ที่ 02 มกราคม 2013, 11:55:44
 :wanwan017: อุ๊ยย!! ตั้งหัวข้อซะแซ่ปเชียว
ผมค้นหาข้อมูลของการใช้ CURL และ File_get_content หลายสำนักแล้วครับ
ไม่ได้และไม่เข้าใจสักที ขอท่านเทพ ฯ ทีนี้ โปรดเมตตาผมทีเถอะครับ
ขอ code ตัวอย่างที่สามารถทำให้ผมเอาไปต่อยอด หรือใช้งานได้พอเห็นผลสักหน่อย
ขอสัญญาว่า จะนำสิ่งที่ได้ไปนำไปพัฒนาและกลับมาพัฒนาบ้านของเราแน่นอน
รบกวนทีนะครับ

ความต้องการ
จากเว็บ http://news.mthai.com/general-news/210228.html
(ขออนุญาตนำมาจาก mthai.com นะคราบบ)

ผมต้องการเขียน cURL หรือ file_get_content
เพื่อดึง
1. หัวข้อ = เกาะติด 7 วันอันตราย ปีใหม่ 2556
2. รูปภาพ = http://news.mthai.com/wp-content/uploads/2012/12/1132.jpg
3. เนื้อหา

เพียง 3 อย่างครับ เก็บลง ตารางในฐานข้อมูล เช่น
Table = news
3 ฟิลด์ตามลำดับคือ
1. หัวข้อ = topic
2. เนื้อหา  = message และ
3. รูปข่าว = photo

เขียน code ยังไงครับ

ขอบคุณล่วงหน้าครับ  :wanwan017:
สวัสดีปีใหม่ 2556 จร้า


หัวข้อ: Re: ไม่ไหวแล้วครับ ขอเคลียร์งมมาข้ามปีแล้วครับ ขอความช่วยเหลือที
เริ่มหัวข้อโดย: xvlnw.com ที่ 02 มกราคม 2013, 12:33:07
http://simplehtmldom.sourceforge.net/


หัวข้อ: Re: ไม่ไหวแล้วครับ ขอเคลียร์งมมาข้ามปีแล้วครับ ขอความช่วยเหลือที
เริ่มหัวข้อโดย: amjoey ที่ 02 มกราคม 2013, 13:29:00
เอาโค้ดนี้ไปใช้ดู  ช่วยๆกันครับ  :wanwan020:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 <?php
    $getpage = get_content("http://news.mthai.com/general-news/210228.html");
    preg_match("/<div class=\"entry-title\">([^`]*?)<\/div>/", $getpage, $topic); //
    echo $topic[1];
   
    function get_content($URL) {
         $ch = curl_init();
         $timeout = 0; // set to zero for no timeout
         $useragent="Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)";
         curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
         curl_setopt ($ch, CURLOPT_URL, $URL);
         curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
         curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
          $String = curl_exec($ch);
          curl_close($ch);
           return $String;
 }
?>


หัวข้อ: Re: ไม่ไหวแล้วครับ ขอเคลียร์งมมาข้ามปีแล้วครับ ขอความช่วยเหลือที
เริ่มหัวข้อโดย: kowit2 ที่ 02 มกราคม 2013, 13:32:55
โอ้วสายดำลอยมาแต่ไกล ฮ่าๆๆ


หัวข้อ: Re: ไม่ไหวแล้วครับ ขอเคลียร์งมมาข้ามปีแล้วครับ ขอความช่วยเหลือที
เริ่มหัวข้อโดย: princmeen ที่ 02 มกราคม 2013, 13:35:15
มาแอบเก็บไปเงียบๆ  :'(


หัวข้อ: Re: ไม่ไหวแล้วครับ ขอเคลียร์งมมาข้ามปีแล้วครับ ขอความช่วยเหลือที
เริ่มหัวข้อโดย: $100perday ที่ 02 มกราคม 2013, 13:38:00
[url]http://simplehtmldom.sourceforge.net/[/url]


** ขอบคุณมากครับ **
จัดให้เลย +1  :wanwan017:

เอาโค้ดนี้ไปใช้ดู  ช่วยๆกันครับ  :wanwan020:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 <?php
    $getpage = get_content("[url]http://news.mthai.com/general-news/210228.html[/url]");
    preg_match("/<div class=\"entry-title\">([^`]*?)<\/div>/", $getpage, $topic); //
    echo $topic[1];
   
    function get_content($URL) {
         $ch = curl_init();
         $timeout = 0; // set to zero for no timeout
         $useragent="Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)";
         curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
         curl_setopt ($ch, CURLOPT_URL, $URL);
         curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
         curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
          $String = curl_exec($ch);
          curl_close($ch);
           return $String;
 }
?>


เดี๋ยวลองทดสอบและมารายงานผลให้ทราบนะครับ
ขอบคุณมากเลยครับ น้ำใจงาม จัด+1 ไป จร้า  :wanwan011: :wanwan017:


หัวข้อ: Re: ไม่ไหวแล้วครับ ขอเคลียร์งมมาข้ามปีแล้วครับ ขอความช่วยเหลือที
เริ่มหัวข้อโดย: $100perday ที่ 02 มกราคม 2013, 13:38:46
โอ้วสายดำลอยมาแต่ไกล ฮ่าๆๆ

สายขาวก็มีนะครับ  :wanwan004: :wanwan017:


หัวข้อ: Re: ไม่ไหวแล้วครับ ขอเคลียร์งมมาข้ามปีแล้วครับ ขอความช่วยเหลือที
เริ่มหัวข้อโดย: idesigns ที่ 02 มกราคม 2013, 13:40:01
โอ้วสายดำลอยมาแต่ไกล ฮ่าๆๆ

สายขาวก็มีนะครับ  :wanwan004: :wanwan017:

ได้แล้วมาบอกด้วยนะ   :wanwan004:


หัวข้อ: Re: ไม่ไหวแล้วครับ ขอเคลียร์งมมาข้ามปีแล้วครับ ขอความช่วยเหลือที
เริ่มหัวข้อโดย: princmeen ที่ 02 มกราคม 2013, 13:55:22
อันนี้ดูยัง file_get_contents
 http://www.php.net/manual/en/function.file-get-contents.php


หัวข้อ: Re: ไม่ไหวแล้วครับ ขอเคลียร์งมมาข้ามปีแล้วครับ ขอความช่วยเหลือที
เริ่มหัวข้อโดย: $100perday ที่ 02 มกราคม 2013, 14:01:01
อันนี้ดูยัง file_get_contents
 [url]http://www.php.net/manual/en/function.file-get-contents.php[/url]


ผมทำตามตัวอย่างที่ให้มาอ่ะครับ

มันขึ้น error อย่างนี้ครับ

Warning: file_get_contents() [function.file-get-contents]: URL file-access is disabled in the server configuration in /home/xxx/domains/xxx.com/public_html/test2.php on line 14

Warning: file_get_contents(http://news.mthai.com/general-news/210228.html) [function.file-get-contents]: failed to open stream: no suitable wrapper could be found in /home/xxx/domains/xxx.com/public_html/test2.php on line 14

ไฟล์ test2.php ครับ

<?php
// Create a stream
$opts = array(
  'http'=>array(
    'method'=>"GET",
    'header'=>"Accept-language: en\r\n" .
              "Cookie: foo=bar\r\n"
  )
);

$context = stream_context_create($opts);

// Open the file using the HTTP headers set above
$file = file_get_contents('http://news.mthai.com/general-news/210228.html', false, $context);
?>


หัวข้อ: Re: ไม่ไหวแล้วครับ ขอเคลียร์งมมาข้ามปีแล้วครับ ขอความช่วยเหลือที
เริ่มหัวข้อโดย: $100perday ที่ 02 มกราคม 2013, 14:02:03
เอาโค้ดนี้ไปใช้ดู  ช่วยๆกันครับ  :wanwan020:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 <?php
    $getpage = get_content("[url]http://news.mthai.com/general-news/210228.html[/url]");
    preg_match("/<div class=\"entry-title\">([^`]*?)<\/div>/", $getpage, $topic); //
    echo $topic[1];
   
    function get_content($URL) {
         $ch = curl_init();
         $timeout = 0; // set to zero for no timeout
         $useragent="Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)";
         curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
         curl_setopt ($ch, CURLOPT_URL, $URL);
         curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
         curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
          $String = curl_exec($ch);
          curl_close($ch);
           return $String;
 }
?>


สุดยอดมากเลยครับ
ดึงหัวข้อออกมาได้

ถามนิสสสนึงนะครับ
ได้เฉพาะ mthai หรือเปล่าครับ
พอดีลองเว็บอื่นด้วย แต่ไม่แสดงผลอารายขึ้นมาเลย

ขอบคุณครับ  :wanwan017:


หัวข้อ: Re: ไม่ไหวแล้วครับ ขอเคลียร์งมมาข้ามปีแล้วครับ ขอความช่วยเหลือที
เริ่มหัวข้อโดย: adidog ที่ 02 มกราคม 2013, 14:16:03
ลองไปหาใน google เรื่อง
DOMDocument
DOMXPath

ดูครับ ไม่ยาก ถ้าแจกแล้วเทพๆจะถล่มมั๊ยเนี่ย  :P :P :P


หัวข้อ: Re: ไม่ไหวแล้วครับ ขอเคลียร์งมมาข้ามปีแล้วครับ ขอความช่วยเหลือที
เริ่มหัวข้อโดย: amjoey ที่ 02 มกราคม 2013, 21:54:48
เอาโค้ดนี้ไปใช้ดู  ช่วยๆกันครับ  :wanwan020:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 <?php
    $getpage = get_content("[url]http://news.mthai.com/general-news/210228.html[/url]");
    preg_match("/<div class=\"entry-title\">([^`]*?)<\/div>/", $getpage, $topic); //
    echo $topic[1];
   
    function get_content($URL) {
         $ch = curl_init();
         $timeout = 0; // set to zero for no timeout
         $useragent="Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)";
         curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
         curl_setopt ($ch, CURLOPT_URL, $URL);
         curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
         curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
          $String = curl_exec($ch);
          curl_close($ch);
           return $String;
 }
?>


สุดยอดมากเลยครับ
ดึงหัวข้อออกมาได้

ถามนิสสสนึงนะครับ
ได้เฉพาะ mthai หรือเปล่าครับ
พอดีลองเว็บอื่นด้วย แต่ไม่แสดงผลอารายขึ้นมาเลย

ขอบคุณครับ  :wanwan017:


ได้ทุกเว็บครับ แต่ก็ต้องเปลี่ยนบรรทัดนี้นะครับ
 preg_match("/<div class=\"entry-title\">([^`]*?)<\/div>/", $getpage, $topic);
ตามหน้าเว็บที่คุณจะดึงข้อมูล ว่าอยู่ใน tag และ class อะไร


หัวข้อ: Re: ไม่ไหวแล้วครับ ขอเคลียร์งมมาข้ามปีแล้วครับ ขอความช่วยเหลือที
เริ่มหัวข้อโดย: $100perday ที่ 03 มกราคม 2013, 10:05:21
ขอบคุณครับ
ดันหาคำตอบ สำหรับท่านผู้เมตตาต่อไป  :wanwan003: :wanwan017: