google検索結果を取得し、指定したサイトのトップページに含まれるキーワード数を取得するAIRサンプルです。
google検索結果を取得し、指定したサイトのトップページに含まれるキーワード数を取得するAIRサンプルです。
<?xml version="1.0" encoding="utf-8"?> <mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml"> <mx:Script> <![CDATA[ import mx.rpc.events.ResultEvent; import mx.rpc.events.FaultEvent; import mx.controls.Alert; //google検索 public function GoogleSearch(event:Event):void { var uv:URLVariables = new URLVariables(); uv.q = q.text;//検索文字 uv.num = "50";//検索結果数 googlesearch.url = "http://www.google.co.jp/search" googlesearch.request = uv; googlesearch.send(); } //サイト検索 public function SiteSearch(event:Event):void { var item:Object = datagrid.selectedItem; var data:Object = datagrid.dataProvider; if (item == null) { Alert.show("未選択です。"); return; } sitesearch.url = data[item.check - 1].siteurl; sitesearch.send(); } //googleへの通信成功 public function GoogleResponce(event:ResultEvent):void { var str:String = event.result.toString();//レスポンス var grid:Array = new Array(); var pattern:RegExp = /<h2\sclass=r><a\shref="((https?|ftp):\/\/[-_.!~*\'()a-zA-Z0-9;\/?:\@&=+\$,%#]+)"/g; var URLpattern:RegExp = /(https?|ftp):\/\/[-_.!~*\'()a-zA-Z0-9;\/?:\@&=+\$,%#]+/; var matchStr:Array = str.match(pattern);//google検索結果からURLを抽出 for(var i:int=0; i<matchStr.length; i++){ var word:Array; var data:Object = new Object(); word = matchStr[i].match(URLpattern); if(!word[0].match(/^http:\/\/news.google.co.jp/)){ data.id = i+1; data.siteurl = word[0]; data.check = i+1; grid[i] = data; } } datagrid.dataProvider = grid; } //指定したサイトへの通信成功 public function SiteResponce(event:ResultEvent):void { var res:String = event.result.toString();//レスポンス var pattern:RegExp = new RegExp(q.text, "g"); var matchStr:Array = res.match(pattern); Alert.show('トップページ内にキーワード『' + q.text + '』' + matchStr.length + '個発見!'); } //HTTP通信失敗 public function Fault(event:FaultEvent):void { Alert.show(event.fault.faultString, "Error"); } ]]> </mx:Script> <mx:HTTPService id="googlesearch" method="GET" result="GoogleResponce(event)" fault="Fault(event)" resultFormat="text" /> <mx:HTTPService id="sitesearch" method="GET" result="SiteResponce(event)" fault="Fault(event)" resultFormat="text" /> <mx:TextInput id="q" x="130" y="32" width="160" height="22" /> <mx:Button x="130" y="95" label="検索" click="GoogleSearch(event)" width="160" height="22" /> <mx:DataGrid id="datagrid" width="338" height="219"> <mx:columns> <mx:DataGridColumn headerText="順位" dataField="id" width="40"/> <mx:DataGridColumn headerText="google検索結果URL" dataField="siteurl" width="130" /> </mx:columns> </mx:DataGrid> <mx:Button x="130" y="95" label="サイト調査" click="SiteSearch(event)" width="160" height="22" /> </mx:WindowedApplication>
ちなみに、デバッグしてないです。
日本語のキーワード等は不具合出ます。
[PR]Spreeの情報を集めています。
ECを持ちたい方、仕事でECを使いたい方向けのコミュニティサイトです。
このサイトでは世界で最も使用されているECの1つであるSpreeについての情報を提供しています。
http://spreecommerce.jp/