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
อ้างถึงจาก: moooaunna ใน 13 กันยายน 2007, 02:59:35
ใครเก่งเรื่องฟีดรบกวนช่วยสอนหน่อยครับ ได้ข้อมูลหน้าที่เป็น 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
อ้างถึงจาก: 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 ครับ



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

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