<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>dansion's 日志 &#187; mp3</title>
	<atom:link href="http://www.dansion.com/blog/tag/mp3/feed" rel="self" type="application/rss+xml" />
	<link>http://www.dansion.com/blog</link>
	<description>学无止境～～～～～～～</description>
	<lastBuildDate>Sat, 06 Feb 2010 09:08:39 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>用Flash AS3正则表达式实现百度的MP3搜索</title>
		<link>http://www.dansion.com/blog/works/flash-regular-expression-baidu-mp3.html</link>
		<comments>http://www.dansion.com/blog/works/flash-regular-expression-baidu-mp3.html#comments</comments>
		<pubDate>Sun, 02 Mar 2008 15:28:49 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[作品]]></category>
		<category><![CDATA[actionscript3]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[Flash ActionScript]]></category>
		<category><![CDATA[mp3]]></category>

		<guid isPermaLink="false">http://www.dansion.com/blog/archives/35</guid>
		<description><![CDATA[利用flash的URLRequest向百度发送关健字,再利用正则表达式提取mp3结果列表.再对结果列表再次请求,获取mp3的真实地址.下面是具体的类
package&#160;{&#160;&#160;&#160;&#160;import&#160;flash.display.Sprite;&#160;&#160;&#160;&#160;import&#160;flash.display.MovieClip;&#160;&#160;&#160;&#160;import&#160;flash.events.Event;&#160;&#160;&#160;&#160;import&#160;flash.events.MouseEvent;&#160;&#160;&#160;&#160;import&#160;flash.events.ProgressEvent;&#160;&#160;&#160;&#160;import&#160;flash.net.URLVariables;&#160;&#160;&#160;&#160;import&#160;flash.net.URLLoader;&#160;&#160;&#160;&#160;import&#160;flash.net.URLRequest;&#160;&#160;&#160;&#160;import&#160;flash.text.TextField;&#160;&#160;&#160;&#160;import&#160;flash.text.TextFieldAutoSize;&#160;&#160;&#160;&#160;import&#160;flash.xml.*;&#160;&#160;&#160;&#160;import&#160;flash.events.IOErrorEvent;&#160;&#160;&#160;&#160;public&#160;class&#160;Mp3Search&#160;extends&#160;MovieClip&#160;{&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;private&#160;var&#160;xmlTextField:TextField&#160;=&#160;new&#160;TextField();&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;//dansion.com&#160;dansion@163.com,;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;private&#160;var&#160;loader:URLLoader;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;private&#160;var&#160;sub:Number;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;public&#160;var&#160;Mp3List:Array;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;public&#160;function&#160;Mp3Search()&#160;{&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Mp3List=new&#160;Array();&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Mp3_search.trackAsMenu=true;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Mp3_search.addEventListener(MouseEvent.CLICK,search);&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;private&#160;function&#160;search(event:Event):void&#160;{&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;var&#160;variables:URLVariables=new&#160;URLVariables(&#34;f=ms&#038;tn=baidump3&#038;ct=134217728&#038;lf=&#038;rn=&#038;lm=0&#34;);&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;variables.word=input.text;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;var&#160;request:URLRequest&#160;=&#160;new&#160;URLRequest();&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;request.url=&#34;http&#58;//mp3.baidu.com/m&#34;;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;request.data=variables;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;loader&#160;=&#160;new&#160;URLLoader();&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;try&#160;{&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;loader.load(request);&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}&#160;catch&#160;(error:SecurityError)&#160;{&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;trace(&#34;A&#160;SecurityError&#160;has&#160;occurred.&#34;);&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;loader.addEventListener(IOErrorEvent.IO_ERROR,&#160;errorHandler);&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;loader.addEventListener(Event.COMPLETE,&#160;loaderCompleteHandler);&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;loader.addEventListener(ProgressEvent.PROGRESS,loaderProgress);&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;trace(&#34;btn&#160;is&#160;donw:&#160;&#34;+input.text);&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;private&#160;function&#160;loaderCompleteHandler(event:Event):void&#160;{&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;progress_txt.text=&#34;加载完成&#34;;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;//var&#160;mp3Exp:RegExp=/http://([w-]+.)+[w-]+([w-&#160;./?$,[]%&#038;;:,+=u4e00-u9fa5]*)?216/g;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;//var&#160;mp3Exp:RegExp=/http://[^box][0-9]([w-]+.)+[w-]+([w-&#160;./?$,[]%&#038;;:,+=u4e00-u9fa5]*)?216/g;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;var&#160;mp3Exp:RegExp=/http://220.181.38.82([w-&#160;./?$,[]%&#038;;:,+=u4e00-u9fa5]*)?216/g;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;var&#160;mp3_array:Array=new&#160;Array();&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;mp3_array=loader.data.match(mp3Exp);&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;//trace(loader.data.match(mp3Exp));&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;/*for&#160;(var&#160;i=0;&#160;i&#60;mp3_array.length;&#160;i++)&#160;{&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;//trace(&#34;输出:&#160;&#160;&#34;+mp3_array[i]+&#34;&#160;&#160;&#160;结束&#34;);&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;var&#160;chineseExp:RegExp=/[u4e00-u9fa5]+/;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;//trace(mp3_array[i].match(chineseExp));&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Mp3Name.push(mp3_array[i].match(chineseExp));&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}*/&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;trace(&#34;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;&#34;);&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;formatURL(mp3_array);&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;private&#160;function&#160;formatURL(array:Array)&#160;{&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;for&#160;(var&#160;i=0;&#160;i&#60;array.length;&#160;i++)&#160;{&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;SubLoad(array[i],i);&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;//sub=i;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;private&#160;function&#160;SubLoad(url:String,num:Number)&#160;{&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;var&#160;chineseExp:RegExp=/[u4e00-u9fa5]+/;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;//trace(mp3_array[i].match(chineseExp));&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;//trace(url);&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;//var&#160;mp3name:String=new&#160;String();&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;var&#160;mp3name:String=String(url.match(chineseExp));&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;var&#160;subrequest:URLRequest&#160;=&#160;new&#160;URLRequest();&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;subrequest.url=url;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#1
60;&#160;var&#160;sub_loader:URLLoader;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;sub_loader&#160;=&#160;new&#160;URLLoader();&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;try&#160;{&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;sub_loader.load(subrequest);&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}&#160;catch&#160;(error:SecurityError)&#160;{&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;trace(&#34;A&#160;SecurityError&#160;has&#160;occurred.&#34;);&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;sub_loader.addEventListener(Event.COMPLETE,SubLoaderComplete);&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;//sub_loader.addEventListener(ProgressEvent.PROGRESS,loaderProgress);&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;function&#160;SubLoaderComplete()&#160;{&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;progress_txt.text=&#34;开始分析第&#34;+mp3name+&#34;搜索结果&#34;;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;var&#160;SubMp3Exp:RegExp=/http://([w-]+.)+[w-]+([w-&#160;./?%&#038;=u4e00-u9fa5]*)?.mp3/g;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;trace(mp3name+&#34;&#160;::&#160;&#34;+sub_loader.data.match(SubMp3Exp)[0]);&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;private&#160;function&#160;loaderProgress(event:ProgressEvent):void&#160;{&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;progress_txt.text=String(event.bytesLoaded)+&#34;/&#34;+String(event.bytesTotal);&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;private&#160;function&#160;errorHandler(event:IOErrorEvent):void&#160;{&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;trace(&#34;IOErrorEvent&#160;出错&#34;);&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}&#160;&#160;&#160;&#160;}}
其中主要是两个正则表达式写法.新建一个MC链接Mp3Search类,MC里有一个文本输入框(名:input),一个表示按扭的MC(Mp3_search),加载提示动态文本框(progress_txt).转载请注明出处!点这里下载
]]></description>
		<wfw:commentRss>http://www.dansion.com/blog/works/flash-regular-expression-baidu-mp3.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
