��4��@Web�T�[�r�X���Ď��͂���ȂɊȒP�F����Ċw�ԁA���ǂ���Web�T�[�r�X�i1/2 �y�[�W�j

�O��܂�3��ɓn���āAPerl�ɂ�����Web�v���O���~���O�̊�b��������܂����B����͈���i�߂āA�����p�I�ȃA�v���P�[�V��������邽�߁A���̑�������ƂȂ�ł��낤XML Web�T�[�r�X�̎g�����ɂ‚��ĉ�����Ă��������Ǝv���܂��B

» 2007�N03��02�� 08��00�� ���J
[�͂Ăȁ@�ɓ�����CITmedia]

�@�O��܂�3��ɓn���āAPerl�v���O��������Web��̃R���e���c���擾����LWP�ƁALWP�Ŏ擾����XML�����𗿗����邽�߂�XML���W���[���̗��p���@���w�т܂����B�������Perl�ɂ�����Web�v���O���~���O�̊�b�ƂȂ���̂ł����B����͈���i�߂āA�����p�I�ȃA�v���P�[�V��������邽�߁A���̑�������ƂȂ�ł��낤XML Web�T�[�r�X�̎g�����ɂ‚��ĉ�����Ă��������Ǝv���܂��B

XML Web�T�[�r�X���āH

�@�O��������G��܂������AXML Web�T�[�r�X�i�ȉ��AWeb�T�[�r�X�j�ɂ‚��ď��������炢���Ă����܂��傤�B

�@Web�T�[�r�X�Ƃ́u����Web�T�C�g�����‹@�\���ق��̃A�v���P�[�V�������痘�p�ł���悤�A���̋@�\���R���|�[�l���g����XML�ɂ��API�Ƃ��Č��J�������́v�ł��B���������ȒP�ɂ����ƁAWeb�T�C�g�̌����@�\�Ƃ��V���b�s���O�T�C�g�̃J�[�g�@�\�Ȃǂ��A�ق��̃A�v���P�[�V�������痘�p�ł���悤�u�J���Ҍ����Ɂv���ꂽ�@�\�A�Ƃ������Ƃ���ł��傤���B

�@�Ⴆ�΂��Ȃ����A���[�J��PC��œ��삷��A�v���P�[�V�������J�����Ă����Ƃ��܂��傤�B���̃A�v���P�[�V�������ɁA���E����Web�T�C�g����S����������@�\�𓋍ڂ������Ǝv�����Ƃ��ɁA�ǂ̂悤�Ȏ�i�ł������������ł��傤���B�����Ő��E����Web�T�C�g����f�[�^���W�߂Ă��āA��������v���O���������܂����H�@�ƂĂ�����Ȃ��ł����A�����ł��ˁB����͂���Google����������̃R���s���[�^���g���Ă悤�₭�����ł��Ă��鐢�E�Ȃ̂ł�����B

�@�ł�����Google�������@�\��Web�T�[�r�X�Ƃ��Č��J���Ă���΁A����𗘗p���邱�Ƃł��Ȃ����g�͌����̃v���O�������قƂ�Ǐ������ƂȂ��A���̃A�v���P�[�V�����ɐ��E����Web�T�C�g����̑S�������@�\�A�Ⴆ��Google�G���W���ɂ�錟���@�\�𓋍ڂł���̂ł��B

�@�‚܂�Web�T�[�r�X�Ƃ́AWeb�T�C�g�ɂ��������@�\���A�A�v���P�[�V�����p�C���^�t�F�[�X�i��API�j�Ƃ���Web��Ō��J�������̂Ƃ����܂��BWeb�T�[�r�XAPI�͂��낢��ȃv���O���~���O���ꂩ�痘�p�ł���悤�A�����̏ꍇXML���g���Ă��܂��B

�@�uPerl��Web�T�[�r�X�𗘗p����v�Ƃ́A����XML���������ɍs���A�Ԃ��Ă������ʂ��p�[�X*���āA���̋@�\��f�[�^����荞�ށA�Ƃ������v���O�������������Ƃł��i�O��w��LWP��XML���W���[���̎g������m���Ă���Η��p�ł���A�Ƃ������Ƃł�����܂��j�B

�@�܂�����������₵�Ă���ł��傤���B���������͋�̗������������������₷�����ł��ˁB

Google Web APIs��Yahoo! Search Web Services

�@��قǁuGoogle�������@�\��Web�T�[�r�X�Ƃ��Č��J���Ă���΁v�Ə����܂����B���́AGoogle�͎��ۂ�Web�T�[�r�X�Ƃ��Ă��̌����@�\�����J���Ă��āA�uGoogle Web APIs�v�Ƃ������O���‚����Ă��܂��B

�@�܂��AGoogle�̃��C�o���ł���Ƃ����Yahoo!���A2005�N3��1�����猟����Web�T�[�r�X���J�n���܂����B��������uYahoo! Search Web Services�v�Ƃ������O�Ō��J����Ă��܂��B

Yahoo! Search Web Services

�@Web�T�[�r�X�̎���Ƃ��ẮA����猟����API����r�I�V���v���ŕ�����₷���Ǝv���܂��B������1�A����API���g�����ȒP�ȃA�v���P�[�V����������Ă݂܂��B�܂���API�̈������ȒP��Yahoo! Search Web Services����g���Ă݂܂��傤�B

Application ID���擾����

�@Yahoo! Search Web Services�𗘗p����ɂ́AApplication ID���K�v�ł��BID�͊J���ғo�^�����邱�ƂŎ擾�”\�ŁA�J���ғo�^���s�����߂ɂ�Yahoo!�̃A�J�E���g���K�v�ł��B�Ƃ������ƂŁAYahoo!�̃A�J�E���g�������Ă��Ȃ����̓T�C���A�b�v���ăA�J�E���g���擾���܂��傤�B

�@Yahoo!�ɃT�C���A�b�v���ăA�J�E���g���擾������AYahoo!�Ƀ��O�C�����āuget an application ID�v�̃����N����ID���擾���܂��B�o�^�t�H�[����8�`40�����ŔC�ӂ̕�����𑗐M����ƁA���ꂪApplication ID�Ƃ��ė��p�”\�ɂȂ�܂��B

Yahoo! Search Web Services���g���Ă݂悤

�@Yahoo! Search Web Services�ł́AWeb�����ȊO�ɂ��C���[�W������j���[�X�����A�r�f�I�����Ȃǂ����p�”\�ł��B���ꂼ���API��Web�����̎g�������uYahoo! Search Web Services�v�̉E���ɋL�ڂ���Ă��܂��B

�@Yahoo! Search Web Services�̃A�[�L�e�N�`���͂ƂĂ��V���v���ŁA�uHTTP���N�G�X�g�̃N�G���p�����[�^�Ɍ������Ȃǂ��w�肵��HTTP��GET���\�b�h�ŃA�N�Z�X����ƁA�������ʂ�XML�ŕԋp����Ă���v�Ƃ������̂ł��B

�@�Ⴆ�΃L�[���[�h�uhatena�v�Ō�������ɂ́A���X�g1��URL��GET���N�G�X�g�𑗐M����Ηǂ�*�A���̉��������X�g2�̂悤��XML�����ŕԂ��Ă��܂��i�ꕔ�ȗ����Ă��܂��j�BXML�̒��g�́A�΂ߓǂ݂ł���������������܂��ˁB�������ʂ������������Ă��āA���ꂼ��Ƀ^�C�g����v��A����URL�Ȃǂ��Z�b�g�ɂȂ��Ă���Ƃ�������ł��B

http://api.search.yahoo.com/WebSearchService/V1/webSearch?appid=********&query=hatena&type=all&results=10&start=1&format=any&language=ja


���X�g1 �uhatena�v��Web����������URL

�@���łɂ��C�Â����Ǝv���܂����A�O�����������@���g���΂���API�𗿗�����̂͊ȒP�ł��B�����ALWP�Ő��URL��GET���āA�ԋp����Ă���XML������XML::Simple�Ȃǂ̃��W���[���Ńp�[�X�����OK�ł��B


<?xml version="1.0" encoding="UTF-8"?>
<ResultSet
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns="urn:yahoo:srch"
   xsi:schemaLocation="urn:yahoo:srch http://api.search.yahoo.com/
WebSearchService/V1/WebSearchResponse.xsd"
   totalResultsAvailable="4435952"
   totalResultsReturned="10"
   firstResultPosition="1">
   <Result>
     <Title>�͂Ă�</Title>
     <Summary>�m�肽���y�[�W�𕶏͂ł����˂Ă�������...</Summary>
     <Url>http://www.hatena.ne.jp/</Url>
     <ClickUrl>http://rds.yahoo.com/S=96857362/K=hatena/v=2/...</ClickUrl>
     <ModificationDate>1117868400</ModificationDate>
     <MimeType>text/html</MimeType>
   </Result>
     <Result>
     <Title>�͂Ăȃ_�C�A���[- �L�[���[�h�ł‚Ȃ���ʔ��u���O</Title>
     <Summary>�֘A�T�[�r�X. �L�[���[�h. �͂Ăȃ_�C�A���[�ւ悤����...</Summary>
     <Url>http://d.hatena.ne.jp/</Url>
     <ClickUrl>http://rds.yahoo.com/S=96857362/K=hatena/v=2/...</ClickUrl>
     <ModificationDate>1117868400</ModificationDate>
     <MimeType>text/html</MimeType>
     <Cache>
       <Url>http://rds.yahoo.com/S=96857362/K=hatena/v=2/XP=yws/...</Url>
       <Size>25191</Size>
     </Cache>
   </Result>
                    �F
                    �F
</ResultSet>

���X�g2�@�uhatena�v��Web�����������Ƃ��̃��X�|���X

���̃y�[�W�ŏo�Ă������p��

�p�[�X

���@�ɉ����ăf�[�^�𕪐́E�������邱�ƁB

���X�g1��URL��GET���N�G�X�g�𑗐M����Ηǂ�

********�ɂ͐�Ɏ擾����Application ID������B�܂��A�����ł́ulanguage=ja�v�œ��{��̌��ʂɂ̂ݍi���Ă���B


�@�@�@�@�@�@ 1|2 ���̃y�[�W��

Copyright © ITmedia, Inc. All Rights Reserved.

'; e_dlv.innerHTML = html; adRequest({position:dlv_pos,dom:true}); }else if(ad_type === 'gam'){ var html = '
'; e_dlv.innerHTML = html; refreshGam('InArtSpecialLink'); }else if(ad_type === 'logly'){ var html = '
'; e_dlv.innerHTML = html; loglySet(g_id); }else if(ad_type === 'google'){ var html = '
'; e_dlv.innerHTML = html; googletag.cmd.push(function(){ var slot8 = googletag.defineSlot('/43042345/nlab_artinsert_RT',[[336,280],[300,250],'fluid'],'div-gpt-ad-1551176482959-0').addService(googletag.pubads()); googletag.pubads().enableSingleRequest(); googletag.enableServices(); googletag.display('div-gpt-ad-1551176482959-0'); googletag.pubads().refresh([slot8]); }); } }; var insert_ok = function(_target,_str){ var clearfix = d.createElement('div'); clearfix.className = 'colBoxClear'; if(ad_float_fix){ e_body.insertBefore(e_dlv,_target); e_body.insertBefore(clearfix,_target.nextElementSibling); }else{ e_body.insertBefore(e_dlv,_target); } set_dlv(); }; var insert_ng = function(_str){ e_dlv.style.display = 'none'; }; var main = function(){ var e_nodes = e_body.childNodes; // BODY �����q�v�f var e_tags = []; // BODY �����^�O var p_num = []; // BODY ���� P �^�O�ʒu var p_target_num; // �g�}����ʒu var o_float = {}; // ��荞�ݗv�f var o_this = {}; // �A�N�e�B�u�^�O var o_next = {}; // �A�N�e�B�u�^�O�̎��̃^�O var flag_insert = 0; // �}���t���O // ��荞�ݗv�f�`�F�b�N var check_float = function(_e){ var e = 0; if(_e.id.match(/^col\d{3}(l|r)$/)){ e = _e; } return e; }; // �v�f�� Y ���W�ƍ����̍��v�l var get_element_y = function(_e){ var ey = 0; var eh = _e.offsetHeight; while(_e){ ey += _e.offsetTop; _e = _e.offsetParent; } return ey + eh; }; var check_ptag = function(_e){ var e = 0; if(_e.tagName && _e.tagName === 'P'){ e = _e; } return e; }; var try_insert = function(){ p_target_num = Math.floor(p_num.length / 2) - 1; if(p_target_num >= _maxrange) p_target_num = _maxrange; if(dis_con) p_target_num = 0; for(var i = p_num[p_target_num]; i < e_tags.length; i++){ o_this.e = check_ptag(e_tags[i]); if(o_this.e){ o_next.e = check_ptag(e_tags[i + 1]); if(o_next.e){ if(!o_float.e || check_float(e_tags[i - 1])){ o_float.e = check_float(e_tags[i - 1]); o_float.n = i - 1; } if(o_float.e && o_float.n < i + 1){ o_float.y = get_element_y(o_float.e); o_this.y = get_element_y(o_this.e); set_line(o_float.y,'red'); set_line(o_this.y,'blue'); if(o_float.y < o_this.y){ flag_insert = 1; insert_ok(o_next.e,_threshold + ' �p���ȏ��荞�݂���'); break; } }else{ flag_insert = 1; insert_ok(o_next.e,_threshold + ' �p���ȏ��荞�݂Ȃ�'); break; } } }else{ o_float = {}; } } if(!flag_insert){ insert_ng('�}���ʒu�Ȃ�'); } }; // �S�q�v�f����^�O�̂ݔz��ɓ���� for(var i = 0; i < e_nodes.length; i++){ if(e_nodes[i].tagName){ e_tags.push(e_nodes[i]); } } // �S�^�O���� P �^�O�ʒu��z��ɓ���� for(var i = 0; i < e_tags.length; i++){ if(e_tags[i].tagName === 'P') p_num.push(i); // �ŏ��̉�荞�ݗv�f���i�[ if(!o_float.e){ o_float.e = check_float(e_tags[i]); o_float.y = get_element_y(o_float.e); o_float.n = i; } } if(p_num.length >= _threshold){ try_insert(); }else{ insert_ng('P �^�O ' + _threshold + ' �ȉ�'); } }; if(e_body){ main(); }else{ insert_ng('�L���{���Ȃ�'); } })(document,4,5);

���ڂ̃e�[�}

�l�C�L�������L���O

���Ȃ��ɂ������߂̋L��PR