ThaiSEOBoard.com

พัฒนาเว็บไซต์ => Programming => ข้อความที่เริ่มโดย: okgofun ที่ 17 กรกฎาคม 2007, 18:59:01



หัวข้อ: มีโค๊ดตัวอย่างการใช้พวก google api,msn api สำหรับดึงข้อมูลใหมครับ อยากศึกษาหัดทำ
เริ่มหัวข้อโดย: okgofun ที่ 17 กรกฎาคม 2007, 18:59:01
มีโค๊ดตัวอย่างการใช้พวก google api,msn api สำหรับดึงข้อมูลใหมครับ อยากศึกษาหัดทำ

จะลองฝึกทำเว็บสำหรับดึงข้อมูล article หรือเนื้อหาต่างๆมาแปะเว็บแบบเต็มๆอะครับ พวก feed ที่ผมเห็นรู้สึกมันจะมีแต่เนื้อหาและรายละเอียดคร่าวๆแต่ต้องคลิ๊กไปอ่านที่เว็บนั้นๆอีกที

เลยอยากลองศึกษาการเขียนระบบให้ดึงข้อมูลจาก google โดยตรงจากหน้าเว็บเพจนั้นๆอะครับ

ขอบคุณมากครับ งูๆปลาๆต่อไป


หัวข้อ: Re: มีโค๊ดตัวอย่างการใช้พวก google api,msn api สำหรับดึงข้อมูลใหมครับ อยากศึกษาห
เริ่มหัวข้อโดย: awat ที่ 13 กันยายน 2007, 01:11:58
ความคิดีครับ อันนี้ผมก็ยังไม่รู้เหมือนกัน

เวลาเรา feed rss มาแล้วเราก็ไปดึงเอา content ทั้งหมดมาแสดงใสหน้าเว็บของเราเลยว่างั้นเหอะๆ 555 ความคิดี


หัวข้อ: Re: มีโค๊ดตัวอย่างการใช้พวก google api,msn api สำหรับดึงข้อมูลใหมครับ อยากศึกษาหัดทำ
เริ่มหัวข้อโดย: moooaunna ที่ 13 กันยายน 2007, 02:59:35
ใครเก่งเรื่องฟีดรบกวนช่วยสอนหน่อยครับ ได้ข้อมูลหน้าที่เป็น XML มาแล้ว ต้องแปลงอย่างไรถึงจะได้ข้อมูลออกมาโชว์


หัวข้อ: Re: มีโค๊ดตัวอย่างการใช้พวก google api,msn api สำหรับดึงข้อมูลใหมครับ อยากศึกษาห
เริ่มหัวข้อโดย: payu ที่ 13 กันยายน 2007, 08:22:52

โดยปกติการไปดึงเอาเนื้อหา article ของเวปอื่นมา จะเป็นเทคนิคของพวกโปรแกรมเวปปั่นครับเช่น RSSGM หรือ YACG ที่ฟรี .. พวกที่ไม่ฟรีก็มีเยอะครับ

การไปดึงเอาเนื้อหามาพวกฝรั่งเค้าเรียกว่าการ scrape

ถ้าพอจะเป็น php นะครับ ผมแนะนำให้ไปลองโหลด YACG มาแกะดู ... ไม่ยากครับ
YACG มี hooks ที่สามารถไปดึงเนื้อหาจาก youtube, flickr, yahoo image, wikipedia, msn feed ได้ครับ ... เป็นอีกหนึ่งเครื่องมือสร้างเวปปั่นที่นิยมพอสมควร

โค๊ด:
http://getyacg.com/download-yacg-now

การ scrape เวป ที่จริงแล้ว ก็มีขั้นตอนแค่นี้เองครับ
1.อ่านหน้าเวปมา (ใช้ curl หรือ fsock ใน php)
2.ใช้ regex ตัดเอาส่วนที่ต้องการออกมา เช่น link หรือ เนื้อหา



หัวข้อ: Re: มีโค๊ดตัวอย่างการใช้พวก google api,msn api สำหรับดึงข้อมูลใหมครับ อยากศึกษาหัดทำ
เริ่มหัวข้อโดย: ฉันไม่มีตัวตน ที่ 13 กันยายน 2007, 08:43:11
เอ่อ..ส่วนนี้คืออะไรหรอครับ ผมไม่ใช่โปรแกม่อนง่ะ...ขอบคุณครับ
MD5 Hash: 8ccc2e587fc5389ca58250b977892625


หัวข้อ: Re: มีโค๊ดตัวอย่างการใช้พวก google api,msn api สำหรับดึงข้อมูลใหมครับ อยากศึกษาห
เริ่มหัวข้อโดย: payu ที่ 13 กันยายน 2007, 08:51:04

MD5 hash คือตัวตรวจสอบไฟล์ที่ download ไปครับว่ายังอยู่ปกติไม่มีใครมาแก้ไข ปรับเปลี่ยนอะไร



หัวข้อ: Re: มีโค๊ดตัวอย่างการใช้พวก google api,msn api สำหรับดึงข้อมูลใหมครับ อยากศึกษาหัดทำ
เริ่มหัวข้อโดย: desiger ที่ 13 กันยายน 2007, 09:33:18
แล้วเราจาหา api มาได้อย่างไงอ่ะครับ



หัวข้อ: Re: มีโค๊ดตัวอย่างการใช้พวก google api,msn api สำหรับดึงข้อมูลใหมครับ อยากศึกษาห
เริ่มหัวข้อโดย: payu ที่ 13 กันยายน 2007, 09:44:56

ถ้าสนใจ api จริงๆ ... แนะนำอ่านที่นี่ครับ
โค๊ด:
http://www.sitepoint.com/article/yahoo-mashup-php



หัวข้อ: Re: มีโค๊ดตัวอย่างการใช้พวก google api,msn api สำหรับดึงข้อมูลใหมครับ อยากศึกษาห
เริ่มหัวข้อโดย: payu ที่ 14 กันยายน 2007, 08:20:36
ใครเก่งเรื่องฟีดรบกวนช่วยสอนหน่อยครับ ได้ข้อมูลหน้าที่เป็น XML มาแล้ว ต้องแปลงอย่างไรถึงจะได้ข้อมูลออกมาโชว์

ตามคำเรียกร้องครับ ...
ผมแนะนำให้ลองศึกษา php ครับ มีประโยชน์ จะได้ใช้ทำอะไรในแบบที่เราต้องการได้เอง หรือจะได้อ่าน code คนอื่นแล้วสามารถนำมาปรับแต่งต่อได้


code ดึง rss feed มาแสดงที่หน้าเวปเราครับ (feed scraper)

โค๊ด:
<?php 

function rss($keyword$item 5
{
  
$rss "http://api.search.yahoo.com/WebSearchService/rss/webSearch.xml?appid=yahoosearchwebrss&query=".urlencode($keyword);
  
$feed implode(''file($rss));

  
preg_match_all('#<title>(.*?)</title>#'$feed$titlePREG_SET_ORDER); 
  
preg_match_all('#<link>(.*?)</link>#'$feed$linkPREG_SET_ORDER);
  
preg_match_all('#<description>(.*?)</description>#'$feed$descriptionPREG_SET_ORDER); 

  
$nr count($title); 

  if (
$nr 1) {
    
    for (
$counter 1$counter $item$counter++ ) {
    
      if (empty(
$title[$counter][1])) {
        echo 
"";
      } elseif (!empty(
$title[$counter][1])) {
      
        
$title[$counter][1] = str_replace("&amp;""&"$title[$counter][1]);
        
$title[$counter][1] = str_replace("&apos;""'"$title[$counter][1]); 
        
        
$description[$counter][1] = str_replace("&amp;""&"$description[$counter][1]);
        
$description[$counter][1] = str_replace("&apos;""'"$description[$counter][1]); 
          
        echo 
"<h3>".$title[$counter][1]."</h3>";
        echo 
"<p>".$description[$counter][1]."</p>";
        echo 
"<a href=\"".$link[$counter][1]."\" rel=\"nofollow\" target=\"_blank\">Read more</a><br><br><hr size=1>";
      }
    }
  }
}

rss('tech');

?>



แล้วก็ลองดูที่กระทู้นี้ครับ
http://www.thaiseoboard.com/index.php/topic,13060



หัวข้อ: Re: มีโค๊ดตัวอย่างการใช้พวก google api,msn api สำหรับดึงข้อมูลใหมครับ อยากศึกษาหัดทำ
เริ่มหัวข้อโดย: moooaunna ที่ 14 กันยายน 2007, 14:29:40
(http://img297.imageshack.us/img297/9214/feedch0.jpg) (http://imageshack.us)

อยากดึงฟีดเฉพาะส่วนที่ต้องการแบบนี้ ทำอย่างไรถึงจะดึงมาได้ครับ


หัวข้อ: Re: มีโค๊ดตัวอย่างการใช้พวก google api,msn api สำหรับดึงข้อมูลใหมครับ อยากศึกษาหัดทำ
เริ่มหัวข้อโดย: kennn ที่ 15 กันยายน 2007, 10:58:35
เรื่องการดึง rss เนี่ย ถ้าคนเป็น PHP อยู่แล้วมันก้อไม่ยากที่จะเข้าใจเลยนะครับ แต่สำหรับมือใหม่ คงต้องอธิบายยาว แต่ถ้าอธิบายออกมา มันก้อจะเป็น work shop(ตัวอย่างการศึกษา) ที่ดีสำหรับมือใหม่อย่างมากเลย ผมก้ออยากจะทำบทความให้อ่านหรอกครับ แต่ช่วงนี้งานยุ่งมาก ยังไงลองให้คุณ Payu เขียนบทความให้อ่านกันดูนะครับ อิอิอิ


หัวข้อ: Re: มีโค๊ดตัวอย่างการใช้พวก google api,msn api สำหรับดึงข้อมูลใหมครับ อยากศึกษาห
เริ่มหัวข้อโดย: payu ที่ 15 กันยายน 2007, 21:16:18

ผมขออธิบายคร่าวๆ นะครับ
หลักการในการ scrape เนี่ยะไม่มีอะไรเลยครับ
1.อ่าน page มา
2.ตัดส่วนที่ต้องการ

การตัดส่วนที่ต้องการใน php ก็มี function หลากหลายสามารถนำมาใช้ได้
การ match pattern เพื่อหาข้อมความส่วนที่ต้องการที่นิยมมากก็คือใช้ regular expression ซึ่งดีกว่าการตัดเองมาก (ตัดโดยการวิ่งทีละ character หาตัวที่ match) ... และที่เห็นว่าใช้กันมากก็มี preg_match (หาข้อความเดียว) กับ preg_match_all (หาแบบซ้ำๆ ในกรณีีมีข้อีความเป็นชุดๆ เช่น search result หรือ feed)
ทีนี้การจะ match เพื่อให้ได้ข้อความที่ต้องการก็อยู่ที่การเขียน "pattern" เพื่อส่งให้ function ที่ใช้ match ซึ่งมี option ในการ match เยอะมากต้องค่อยเรียนรู้ไปครับ (ผมเองยังไม่ค่อยแม่นเรื่องนี้เลย)

สรุปคือว่า
ถ้ายังไม่เป็น php เลย .. ก็คงต้องแนะนำให้ศึกษา php ก่อน
ถ้าพอเป็นแล้ว .. ผมก็แนะนำให้ศึกษา regular expression ครับ



หัวข้อ: Re: มีโค๊ดตัวอย่างการใช้พวก google api,msn api สำหรับดึงข้อมูลใหมครับ อยากศึกษาห
เริ่มหัวข้อโดย: Gteam ที่ 08 มิถุนายน 2009, 22:10:25

ผมขออธิบายคร่าวๆ นะครับ
หลักการในการ scrape เนี่ยะไม่มีอะไรเลยครับ
1.อ่าน page มา
2.ตัดส่วนที่ต้องการ

การตัดส่วนที่ต้องการใน php ก็มี function หลากหลายสามารถนำมาใช้ได้
การ match pattern เพื่อหาข้อมความส่วนที่ต้องการที่นิยมมากก็คือใช้ regular expression ซึ่งดีกว่าการตัดเองมาก (ตัดโดยการวิ่งทีละ character หาตัวที่ match) ... และที่เห็นว่าใช้กันมากก็มี preg_match (หาข้อความเดียว) กับ preg_match_all (หาแบบซ้ำๆ ในกรณีีมีข้อีความเป็นชุดๆ เช่น search result หรือ feed)
ทีนี้การจะ match เพื่อให้ได้ข้อความที่ต้องการก็อยู่ที่การเขียน "pattern" เพื่อส่งให้ function ที่ใช้ match ซึ่งมี option ในการ match เยอะมากต้องค่อยเรียนรู้ไปครับ (ผมเองยังไม่ค่อยแม่นเรื่องนี้เลย)

สรุปคือว่า
ถ้ายังไม่เป็น php เลย .. ก็คงต้องแนะนำให้ศึกษา php ก่อน
ถ้าพอเป็นแล้ว .. ผมก็แนะนำให้ศึกษา regular expression ครับ



ขอบคุณครับ... :-* มีความรู้มากขึ้น...เลยให้ 10+ ครับ


หัวข้อ: Re: มีโค๊ดตัวอย่างการใช้พวก google api,msn api สำหรับดึงข้อมูลใหมครับ อยากศึกษาหัดทำ
เริ่มหัวข้อโดย: zZzZ ที่ 08 มิถุนายน 2009, 22:31:25
+1 payu

ศึกษาๆด้วย  :)