Yahoo¡¡¥Æ¥¥¹¥È¸¡º÷¡ÊÆüËܸì·ÁÂÖÁDzòÀÏ¡Ë
Yahoo WEB¥µ¡¼¥Ó¥¹¤Ë¤ÏÆüËܸìʸ»úÎ󤫤饡¼¥ï¡¼¥É¤òÈ´¤½Ð¤¹¡ÖÆüËܸì·ÁÂÖÁDzòÀϡפε¡Ç½¤¬Ä󶡤µ¤ì¤Æ¤¤¤Þ¤¹¡£
Î㤨¤Ð¡Ö»ä¤Î̾Á°¤Ï¡£¡×¤È¤¤¤¦Ê¸¾Ï¤òÅϤ¹¤È¡¢Ê¸¾Ï¤ò¹½À®¤·¤Æ¤¤¤ëñ¸ì¤Ëʬ³ä¤·¡¢
¤½¤ÎÆÉ¤ßÊý¡¢ÉÊ»ì¤òÊÖ¤·¤Þ¤¹¡£
Îã¡Ë
¡¡»ä¡¡¡ä¡¡¤ï¤¿¤· (̾»ì)
¡¡¤Î¡¡¡ä¡¡¤Î (½õ»ì)
¡¡Ì¾Á°¡ä¡¡¤Ê¤Þ¤¨ (̾»ì)
¡¡¤Ï¡¡¡ä¡¡¤Ï (½õ»ì)
¤³¤³¤Ç¤Ï¤½¤ÎÍøÍÑÊýË¡¤ò¾Ò²ð¤·¤Þ¤¹¡£
Yahoo! ¥Ç¥Ù¥í¥Ã¥Ñ¡¼¥Í¥Ã¥È¥ï¡¼¥¯¤òɽ¼¨¤·¡¢
º¸Â¦¥µ¥¤¥É¥á¥Ë¥å¡¼¤Î¡Ö¥¢¥×¥ê¥±¡¼¥·¥ç¥óID¤ÎÅÐÏ¿¡×¤«¤éÅÐÏ¿¤·¤Þ¤¹¡£
¢¨¾ÜºÙ¤Ï²èÌ̤λؼ¨¤Ë½¾¤Ã¤Æ¤¯¤À¤µ¤¤¡£
¢¨¤³¤³¤Ç¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥óID¤Ï "amstransit" ¤È¤·¤Þ¤¹¡£
¤³¤Á¤é¤Î¥Ú¡¼¥¸¤Ë¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤¬¸ø³«¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
ÆüËܸì·ÁÂÖÁDzòÀÏWeb¥µ¡¼¥Ó¥¹
¸¡º÷URI
¡¡http://api.jlp.yahoo.co.jp/MAService/V1/parse
ɬ¿Ü¥Ñ¥é¥á¡¼¥¿
¡¡²òÀÏÂоݥƥ¥¹¥È¡§sentence
¡¡²òÀÏ·ë²Ì¤Î¼ïÎà¡§results ( "ma" ¤Î¾ì¹çÄ̾ï¤Î·ÁÂÖÁDzòÀÏ·ë²Ì¡¢"uniq" ¤Î¾ì¹ç·ÁÂÖÁDzòÀÏ·ë²Ì¤Î½Ð¸½ÉÑÅÙ )
¡¡¥¢¥×¥ê¥±¡¼¥·¥ç¥óID : appid
¤³¤Î»ÅÍͤ˽¾¤¦¤È"»ä¤Î̾Á°¤Ï¥Ñ¥ï¡¼¥Ó¡¼¥ó¥º¤Ç¤¹¡£"¤ò¸¡º÷¤¹¤ë¥¯¥¨¥êURL¤Ï
http://api.jlp.yahoo.co.jp/MAService/V1/parse?appid=amstransit&sentence=»ä¤Î̾Á°¤Ï¥Ñ¥ï¡¼¥Ó¡¼¥ó¥º¤Ç¤¹¡£&results=ma
¤È¤Ê¤ê¤Þ¤¹¡£
¤³¤ÎURL¤òURL¥¨¥ó¥³¡¼¥É¤¹¤ë¤È
http://api.jlp.yahoo.co.jp/MAService/V1/parse?appid=amstransit&sentence=%E7%A7%81%E3%81%AE%E5%90%8D%E5%89%8D%E3%81%AF%E3%83%91%E3%83%AF%E3%83%BC%E3%83%93%E3%83%BC%E3%83%B3%E3%82%BA%E3%81%A7%E3%81%99%E3%80%82&results=ma
¤È¤Ê¤ê¤Þ¤¹¡£
¤¿¤á¤·¤Ë¾åµURL¤ò¥Ö¥é¥¦¥¶¤ÎURLÍó¤ËÆþÎϤ·¤Æ¥ê¥¯¥¨¥¹¥È¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£
°Ê²¼¤Î¤è¤¦¤Ê¸¡º÷·ë²Ì¤¬XML¤ÇÊֵѤµ¤ì¤Þ¤¹¡£

¤³¤³¤Ç¤ÏJAVA¤ÈPHP¤Ç¤Î¥µ¥ó¥×¥ë¤ò¾Ò²ð¤·¤Þ¤¹¡£
¥µ¥ó¥×¥ë¥³¡¼¥É¤ò¸ø³«¤·¤Þ¤¹¡£
YahooWebService ¥¯¥é¥¹
¼Â¹Ô·ë²Ì
¼Â¹Ô·ë²Ì¤ò¸«¤ë¤Èʬ¤«¤ë¤è¤¦¤Ë¡¢Ã±¸ì¤ÎÆÉ¤ßÊý¤âÊÖ¤·¤Þ¤¹¡£
¤³¤ÎÆÉ¤ßÊý¤ò¼èÆÀ¤¹¤ëµ¡Ç½¤À¤±¤Ç¤âÈó¾ï¤ËÍÍѤ«¤â¤·¤ì¤Þ¤»¤ó¡£
»È¤¤Êý¼¡Âè¤Ç¤Ï¡¢»ë³Ð¾ã³²¼Ô¸þ¤±²»ÆÉ¥½¥Õ¥È¡¢²»ÆÉ¥·¥¹¥Æ¥à
¤Î´ðËܵ»½Ñ¤È¤·¤Æ¤Î³èÍѤ¹¤ë¤³¤È¤â¤Ç¤¤½¤¦¤Ç¤¹¡£
PHPÈÇ¥µ¥ó¥×¥ë¤ò¸ø³«¤·¤Þ¤¹¡£
Î㤨¤Ð¡Ö»ä¤Î̾Á°¤Ï¡£¡×¤È¤¤¤¦Ê¸¾Ï¤òÅϤ¹¤È¡¢Ê¸¾Ï¤ò¹½À®¤·¤Æ¤¤¤ëñ¸ì¤Ëʬ³ä¤·¡¢
¤½¤ÎÆÉ¤ßÊý¡¢ÉÊ»ì¤òÊÖ¤·¤Þ¤¹¡£
Îã¡Ë
¡¡»ä¡¡¡ä¡¡¤ï¤¿¤· (̾»ì)
¡¡¤Î¡¡¡ä¡¡¤Î (½õ»ì)
¡¡Ì¾Á°¡ä¡¡¤Ê¤Þ¤¨ (̾»ì)
¡¡¤Ï¡¡¡ä¡¡¤Ï (½õ»ì)
¤³¤³¤Ç¤Ï¤½¤ÎÍøÍÑÊýË¡¤ò¾Ò²ð¤·¤Þ¤¹¡£
1. Yahoo ¥Ç¥Ù¥í¥Ã¥Ñ¡¼¥Í¥Ã¥È¥ï¡¼¥¯¤ËÅÐÏ¿
Yahoo! ¥Ç¥Ù¥í¥Ã¥Ñ¡¼¥Í¥Ã¥È¥ï¡¼¥¯¤òɽ¼¨¤·¡¢
º¸Â¦¥µ¥¤¥É¥á¥Ë¥å¡¼¤Î¡Ö¥¢¥×¥ê¥±¡¼¥·¥ç¥óID¤ÎÅÐÏ¿¡×¤«¤éÅÐÏ¿¤·¤Þ¤¹¡£
¢¨¾ÜºÙ¤Ï²èÌ̤λؼ¨¤Ë½¾¤Ã¤Æ¤¯¤À¤µ¤¤¡£
¢¨¤³¤³¤Ç¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥óID¤Ï "amstransit" ¤È¤·¤Þ¤¹¡£
2. ÆüËܸì·ÁÂÖÁDzòÀϤò»î¤¹
¤³¤Á¤é¤Î¥Ú¡¼¥¸¤Ë¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤¬¸ø³«¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
ÆüËܸì·ÁÂÖÁDzòÀÏWeb¥µ¡¼¥Ó¥¹
¸¡º÷URI
¡¡http://api.jlp.yahoo.co.jp/MAService/V1/parse
ɬ¿Ü¥Ñ¥é¥á¡¼¥¿
¡¡²òÀÏÂоݥƥ¥¹¥È¡§sentence
¡¡²òÀÏ·ë²Ì¤Î¼ïÎà¡§results ( "ma" ¤Î¾ì¹çÄ̾ï¤Î·ÁÂÖÁDzòÀÏ·ë²Ì¡¢"uniq" ¤Î¾ì¹ç·ÁÂÖÁDzòÀÏ·ë²Ì¤Î½Ð¸½ÉÑÅÙ )
¡¡¥¢¥×¥ê¥±¡¼¥·¥ç¥óID : appid
¤³¤Î»ÅÍͤ˽¾¤¦¤È"»ä¤Î̾Á°¤Ï¥Ñ¥ï¡¼¥Ó¡¼¥ó¥º¤Ç¤¹¡£"¤ò¸¡º÷¤¹¤ë¥¯¥¨¥êURL¤Ï
http://api.jlp.yahoo.co.jp/MAService/V1/parse?appid=amstransit&sentence=»ä¤Î̾Á°¤Ï¥Ñ¥ï¡¼¥Ó¡¼¥ó¥º¤Ç¤¹¡£&results=ma
¤È¤Ê¤ê¤Þ¤¹¡£
¤³¤ÎURL¤òURL¥¨¥ó¥³¡¼¥É¤¹¤ë¤È
http://api.jlp.yahoo.co.jp/MAService/V1/parse?appid=amstransit&sentence=%E7%A7%81%E3%81%AE%E5%90%8D%E5%89%8D%E3%81%AF%E3%83%91%E3%83%AF%E3%83%BC%E3%83%93%E3%83%BC%E3%83%B3%E3%82%BA%E3%81%A7%E3%81%99%E3%80%82&results=ma
¤È¤Ê¤ê¤Þ¤¹¡£
¤¿¤á¤·¤Ë¾åµURL¤ò¥Ö¥é¥¦¥¶¤ÎURLÍó¤ËÆþÎϤ·¤Æ¥ê¥¯¥¨¥¹¥È¤·¤Æ¤ß¤Æ¤¯¤À¤µ¤¤¡£
°Ê²¼¤Î¤è¤¦¤Ê¸¡º÷·ë²Ì¤¬XML¤ÇÊֵѤµ¤ì¤Þ¤¹¡£

¤³¤³¤Ç¤ÏJAVA¤ÈPHP¤Ç¤Î¥µ¥ó¥×¥ë¤ò¾Ò²ð¤·¤Þ¤¹¡£
3. JAVA¤Ç·ÁÂÖÁǸ¡º÷¸¡º÷
¥µ¥ó¥×¥ë¥³¡¼¥É¤ò¸ø³«¤·¤Þ¤¹¡£
YahooWebService ¥¯¥é¥¹
package jp.co.powerbeans.ws.sample.yahoo;
import java.io.IOException;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;
/**
* YahooWebService
* @author amonden
* @create date 2007/06/25
*/
public class YahooWebService {
/**
* yahoo appid
*/
private String appid;
/**
* ¥³¥ó¥¹¥È¥é¥¯¥¿
* @param appid ¥¢¥×¥ê¥±¡¼¥·¥ç¥óID
*/
public YahooWebService(String appid) {
this.appid = appid;
}
/**
* ¥Æ¥¹¥È¼Â¹ÔÍѥᥤ¥ó
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
String appid = "amstransit";
YahooWebService yahoo = new YahooWebService(appid);
// WEB¸¡º÷
// List<Map> list = yahoo.searchWeb("¥Ñ¥ï¡¼¥Ó¡¼¥ó¥º");
// ²èÁü¸¡º÷
// List<Map> list = yahoo.searchImage("¥Ñ¥ï¡¼¥Ó¡¼¥ó¥º");
// ¸¡º÷·ë²Ì¤ò½ÐÎÏ
// for (Map row : list) {
// System.out.println(row.get("Title") + ":" + row.get("Url"));
// }
// ÆüËܸì·ÁÂÖÁDzòÀÏ
List<Map> list = yahoo.parseJp("»ä¤Î̾Á°¤Ï¥Ñ¥ï¡¼¥Ó¡¼¥ó¥º¤Ç¤¹¡£");
// ¸¡º÷·ë²Ì¤ò½ÐÎÏ
for (Map row : list) {
System.out.println("[ñ¸ì]" + row.get("surface") + " " +
"[ÆÉ¤ßÊý]"+ row.get("reading") + " " +
"[ÉÊ»ì]" + row.get("pos"));
}
}
/**
* WEB¸¡º÷¤ò¼Â¹Ô
* @param query ¸¡º÷¥ï¡¼¥É
* @return ¸¡º÷·ë²Ì
* @throws Exception
*/
private List<Map> searchWeb(String query) throws Exception {
String url = "http://api.search.yahoo.co.jp/WebSearchService/V1/webSearch?appid=" + appid
+ "&query=" + URLEncoder.encode(query, "UTF-8");
return queryByUri(url, "ResultSet", "Result");
}
/**
* ²èÁü¸¡º÷¤ò¼Â¹Ô
* @param query ¸¡º÷¥ï¡¼¥É
* @return ¸¡º÷·ë²Ì
* @throws Exception
*/
private List<Map> searchImage(String query) throws Exception {
String url = "http://api.search.yahoo.co.jp/ImageSearchService/V1/imageSearch?appid=" + appid
+ "&query=" + URLEncoder.encode(query, "UTF-8");
return queryByUri(url, "ResultSet", "Result");
}
/**
* ÆüËܸì·ÁÂÖÁDzòÀÏ
* @param centense ²òÀÏÂоÝʸ»ú
* @return ¸¡º÷·ë²Ì
* @throws Exception
*/
private List<Map> parseJp(String centense) throws Exception {
String url = "http://api.jlp.yahoo.co.jp/MAService/V1/parse?appid=" + appid
+ "&sentence=" + URLEncoder.encode(centense, "UTF-8") + "&results=ma";
return queryByUri(url, "ResultSetma_resultword_list", "word");
}
/**
* URI¤ò¥ê¥¯¥¨¥¹¥È¤·¸¡º÷·ë²Ì¤òÊÖ¤¹.
* @param url URI
* @param root_name ¥ë¡¼¥ÈÍ×ÁÇ̾
* @param item_name ¸¡º÷·ë²ÌÍ×ÁÇ̾
* @return ¸¡º÷·ë²Ì
* @throws Exception
*/
private List<Map> queryByUri(String url, String root_name, String item_name) throws Exception {
SAXParserFactory spfactory = SAXParserFactory.newInstance();
SAXParser parser = spfactory.newSAXParser();
XmlResponseSax sax = new XmlResponseSax(root_name, item_name);
parser.parse(url, sax);
return sax.getResultList();
}
/**
* ¸¡º÷¤Î·ë²Ì¤ò²òÀϤ¹¤ë¥Ñ¡¼¥µ¡¼
* @author amonden
* @create date 2007/06/25
*/
public class XmlResponseSax extends DefaultHandler {
List<Map> list = new ArrayList<Map>();
private String tag_path = "";
private Map<String,String> map;
private String itemKey;
private String itemName;
/**
* ¥³¥ó¥¹¥È¥é¥¯¥¿
* @param root_name ¥ë¡¼¥ÈÍ×ÁÇ̾
* @param item_name ¸¡º÷·ë²ÌÍ×ÁÇ̾
*/
public XmlResponseSax(String root_name, String item_name) {
this.itemKey = root_name + item_name;
this.itemName = item_name;
}
/* (non-Javadoc)
* @see org.xml.sax.helpers.DefaultHandler#characters(char[], int, int)
*/
@Override
public void characters(char[] ch, int start, int length) throws SAXException {
if (this.map != null) {
String key = this.tag_path.substring(itemKey.length());
this.map.put(key, new String(ch, start, length));
}
}
/**
* ½¸·×·ë²Ì¥ê¥¹¥È¤òÊÖ¤¹
* @return
*/
public List<Map> getResultList() {
return this.list;
}
/* (non-Javadoc)
* @see org.xml.sax.helpers.DefaultHandler#startElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes)
*/
@Override
public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
if (itemName.equals(qName)) {
this.map = new HashMap<String,String>();
}
this.tag_path += qName;
}
/* (non-Javadoc)
* @see org.xml.sax.helpers.DefaultHandler#endElement(java.lang.String, java.lang.String, java.lang.String)
*/
@Override
public void endElement(String uri, String localName, String qName) throws SAXException {
if (itemName.equals(qName)) {
this.list.add(this.map);
this.map = null;
}
this.tag_path = this.tag_path.substring(0, this.tag_path.length() - qName.length());
}
}
}
¼Â¹Ô·ë²Ì
java jp.co.powerbeans.ws.sample.yahoo.YahooWebService
[ñ¸ì]»ä [ÆÉ¤ßÊý]¤ï¤¿¤· [ÉÊ»ì]̾»ì
[ñ¸ì]¤Î [ÆÉ¤ßÊý]¤Î [ÉÊ»ì]½õ»ì
[ñ¸ì]̾Á° [ÆÉ¤ßÊý]¤Ê¤Þ¤¨ [ÉÊ»ì]̾»ì
[ñ¸ì]¤Ï [ÆÉ¤ßÊý]¤Ï [ÉÊ»ì]½õ»ì
[ñ¸ì]¥Ñ¥ï¡¼ [ÆÉ¤ßÊý]¤Ñ¤ï¡¼ [ÉÊ»ì]̾»ì
[ñ¸ì]¥Ó¡¼¥ó¥º [ÆÉ¤ßÊý]¤Ó¡¼¤ó¤º [ÉÊ»ì]̾»ì
[ñ¸ì]¤Ç¤¹ [ÆÉ¤ßÊý]¤Ç¤¹ [ÉÊ»ì]½õư»ì
[ñ¸ì]¡£ [ÆÉ¤ßÊý]¡£ [ÉÊ»ì]ÆÃ¼ì¼Â¹Ô·ë²Ì¤ò¸«¤ë¤Èʬ¤«¤ë¤è¤¦¤Ë¡¢Ã±¸ì¤ÎÆÉ¤ßÊý¤âÊÖ¤·¤Þ¤¹¡£
¤³¤ÎÆÉ¤ßÊý¤ò¼èÆÀ¤¹¤ëµ¡Ç½¤À¤±¤Ç¤âÈó¾ï¤ËÍÍѤ«¤â¤·¤ì¤Þ¤»¤ó¡£
»È¤¤Êý¼¡Âè¤Ç¤Ï¡¢»ë³Ð¾ã³²¼Ô¸þ¤±²»ÆÉ¥½¥Õ¥È¡¢²»ÆÉ¥·¥¹¥Æ¥à
¤Î´ðËܵ»½Ñ¤È¤·¤Æ¤Î³èÍѤ¹¤ë¤³¤È¤â¤Ç¤¤½¤¦¤Ç¤¹¡£
4. PHP¤Ç·ÁÂÖÁǸ¡º÷¸¡º÷
PHPÈÇ¥µ¥ó¥×¥ë¤ò¸ø³«¤·¤Þ¤¹¡£






