<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title>Ruby论坛最新讨论 - JavaEye</title>
    <description>Ruby编程、Ruby DSL、Ruby on rails - Java编程，Ruby编程，微软.net，AJAX，敏捷软件开发，综合软件技术</description>
    <link>http://www.javaeye.com</link>
    <language>UTF-8</language>
    <copyright>Copyright 2003-2008, JavaEye.com</copyright>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <generator>JavaEye - 做最棒的软件开发交流社区</generator>
      <item>
        <title>ruby</title>
        <author>JavaEye网站</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://tonysslz.javaeye.com">tonysslz</a>&nbsp;
          链接：<a href="http://www.javaeye.com/topic/237514" style="color:red;">http://www.javaeye.com/topic/237514</a>&nbsp;
          发表时间: 2008年09月05日
          <br/>
          声明：本文系JavaEye网站发布的原创文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p><img src="../../../images/smiles/icon_surprised.gif" alt="" />今天天气不错</p>
          <br/><br/>
          <span style="color:red;">
            <a href="http://gzer.group.javaeye.com/topic/237514" style="color:red;">已有 <strong>0</strong> 人发表回复，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 05 Sep 2008 12:58:15 +0800</pubDate>
        <link>http://www.javaeye.com/topic/237514</link>
        <guid>http://www.javaeye.com/topic/237514</guid>
      </item>
      <item>
        <title>对Ruby VM的GC的思考</title>
        <author>JavaEye网站</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://robbin.javaeye.com">robbin</a>&nbsp;
          链接：<a href="http://www.javaeye.com/topic/235937" style="color:red;">http://www.javaeye.com/topic/235937</a>&nbsp;
          发表时间: 2008年09月02日
          <br/>
          声明：本文系JavaEye网站发布的原创文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          Ruby虽然是动态脚本语言，但是和Java一样，带有VM，有自己的内存堆，创建对象的时候在堆里面分配内存，对象使用完毕由GC进行回收。但是通过我们运营Rails网站两年多的实践来看，Ruby VM的GC还是存在很大的问题。简单的来说，就是GC之后，尽管对象已经完全回收，但是物理内存释放不够充分，有泄漏的现象。通过pmap来dump ruby进程物理内存地址映射表进行分析，观察到ruby的内存堆总是在不停的扩张，GC之后回收不干净。而我对比观察Java VM，其Full GC之后，物理内存释放的非常干净。所以用Ruby做服务器长期的跑，就会发现Ruby进程没有理由的缓慢泄漏内存，内存堆缓慢增长，貌似没有上限。<br /><br />由于pmap命令可以dump进程的内存映射表，因此我们可以对比RubyVM和JVM在GC前后的内存映射情况。比方说Ruby的内存状况大概是这样的：<br /><br />下图是一个Ruby进程的物理内存映射表，堆内存占据的空间是我抽取出来的三行：<br /><br /><pre name="code" class="ruby">
00000000005d4000 125260K rwx--    [ anon ]
0000002a95c23000  23456K rw---    [ anon ]
0000002a99186000  50980K rw---    [ anon ]</pre><br /><br /><pre name="code" class="ruby">
0000000000400000    760K r-x--  /usr/local/ruby/bin/ruby
00000000005bd000     92K rw---  /usr/local/ruby/bin/ruby
00000000005d4000 125260K rwx--    [ anon ]
0000002a95556000     84K r-x--  /lib64/ld-2.3.3.so
0000002a9556b000     12K rw---    [ anon ]
0000002a9556e000     24K r--s-  /usr/lib64/gconv/gconv-modules.cache
0000002a95574000      4K rw---    [ anon ]
0000002a95577000     12K rw---    [ anon ]
0000002a9557a000    204K r----  /usr/lib/locale/en_US.utf8/LC_CTYPE
0000002a9566a000     12K rw---  /lib64/ld-2.3.3.so
0000002a9566d000      8K r-x--  /lib64/libdl.so.2
0000002a9566f000   1024K -----  /lib64/libdl.so.2
0000002a9576f000      4K rw---  /lib64/libdl.so.2
......
</pre><br /><br />可以看出来Ruby的堆内存分配比较连续，分段不多。而JVM的堆内存分配段就很多了，由于堆地址段太多，我就不贴出来了，大家可以自己观察。<br /><br /><span style="color: red">由于Ruby的内存分配算法和回收算法还是比较原始的，因此在进行多次回收之后，内存堆很容易出现大量的内存碎片，很多内存碎片并不能够被有效的利用，并且ruby没有好的碎片归并压缩算法，因此碎片造成的内存堆地址空间浪费就会越来越大。其结果就是Ruby进程在长期高负载运行之下，表现出缓慢的内存泄漏现象！</span><br /><br />对比JVM的堆分配，他分配了很多的段，每个段的内存存活期不一样，根据分代算法，可以把不同存活期的对象在堆之间移动，堆内部则进行碎片归并。比方说我对一个Tomcat应用服务器的实际应用先pmap记录内存映射，然后GC，再pmap记录内存映射，两者diff一下，就可以发现某些堆在收缩，但是某些堆甚至在GC后扩张了，这便是对象在堆之间进行移动的现象。因此我不得不赞赏一下JVM的内存分配。<br /><br />话说回来，由于Ruby的VM内存分配的碎片问题，导致Ruby进程几乎无可避免的内存泄漏。其结果就是你必须实时监控Ruby进程的运行情况，一旦发现内存使用超过限额，则必须果断的杀掉进程重起。比方说现在很多流行的Rails网站都是用monit去监控mongrel实例，一旦发现内存使用超过限额就杀掉重起。这种监控方式虽然可以有效的解决ruby的内存泄漏问题，但是太过简单粗暴，如果杀掉进程重起的时候，Ruby进程正好在处理请求，那么该请求是肯定会失败掉的，对于一些极端的情况，似乎很难令人接受这种现象的存在。我现在没有用monit，而是自己写shell脚本来监控(写几行shell就可以搞定的事情没必要那么麻烦搞什么monit)，每天大概能出现两三次这种需要杀掉重起的情况，对比每天要处理将近100 万动态请求来说，可靠性还是达到了99.999%，还算可以。<br /><br />那么将于今年年底发布的ruby 1.9.1能够解决这个问题吗？ 答案是悲观的，1.9的GC并没有本质的提高，可以预见还是会出现无可避免的内存泄漏问题。但是1.9的内存泄漏会比现在的1.8要轻微一些，原因是1.9会对堆空间的内存碎片从小到大进行排序，因此对于内存碎片的利用率要高一些，再加上1.9的GC相对来说更积极主动一些，因此在一定程度上可以减轻内存碎片问题。<br /><br />但不管怎么说，在可以预见的未来，Ruby的内存泄漏问题无可避免，我们还是要做好动不动杀掉ruby进程重起的准备。所以你要好好操练一下monit，或者像我一样，写个shell脚本进行监控，用crontab每隔几分钟跑一下。<br /><br />我们的Rails部署方式是lighttpd+fcgi，用Unix Socket通信，监控脚本示例如下：<br /><br /><pre name="code" class="ruby">#!/bin/sh

. /etc/profile.local

RUBY_HEAP_MIN_SLOTS=600000
RUBY_HEAP_SLOTS_INCREMENT=600000
RUBY_HEAP_FREE_MIN=100000
RUBY_GC_MALLOC_LIMIT=60000000
RAILS_ENV=production
export RUBY_HEAP_MIN_SLOTS RUBY_HEAP_SLOTS_INCREMENT RUBY_GC_MALLOC_LIMIT RUBY_HEAP_FREE_MIN RAILS_ENV

SPAWN=/usr/local/lighttpd/bin/spawn-fcgi
DISPATCH_PATH=/.../yourrailsapp/public/dispatch.fcgi
SOCKET_PATH=/yourlighttpd/socket
PID_PATH=/yourlighttpd/pids

RSS_MAX=307200

for PSDATA in `ps -e v | grep dispatch.fcgi | awk '{print $1 ":" $8 }'`
do
  RSS=${PSDATA#*:}
  PID=${PSDATA%:*}
  if [ $RSS -ge $RSS_MAX ]; then
    echo 
    echo `date`
    echo "----------------------------------------"
    echo "PID["$PID"]: RSS="$RSS"KB is too big!"
    for num in 0 1 2 3 4 5 6 7 8 9
    do
      if [ $PID -eq `cat $PID_PATH/javaeye.pid-$num` ]; then
        echo "PID["$PID"] using socket: "$num
        kill -9 $PID
        rm -rf $SOCKET_PATH/javaeye.socket-$num
        $SPAWN -f $DISPATCH_PATH -s $SOCKET_PATH/javaeye.socket-$num -P $PID_PATH/javaeye.pid-$num
      fi
    done
  fi
done

sleep 10

for num in 0 1 2 3 4 5 6 7 8 9
do
  if [ ! -d /proc/`cat $PID_PATH/javaeye.pid-$num` ]; then
    echo
    echo "Ruby Server using socket: "$num" had been crashed, need to be starting..."
    rm -rf $SOCKET_PATH/javaeye.socket-$num
    $SPAWN -f $DISPATCH_PATH -s $SOCKET_PATH/javaeye.socket-$num -P $PID_PATH/javaeye.pid-$num
  fi
done </pre>
          <br/><br/>
          <span style="color:red;">
            <a href="http://gzer.group.javaeye.com/topic/235937" style="color:red;">已有 <strong>8</strong> 人发表回复，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 02 Sep 2008 23:41:16 +0800</pubDate>
        <link>http://www.javaeye.com/topic/235937</link>
        <guid>http://www.javaeye.com/topic/235937</guid>
      </item>
      <item>
        <title>发现activerecord的install.rb有点问题</title>
        <author>JavaEye网站</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://mccxj.javaeye.com">mccxj</a>&nbsp;
          链接：<a href="http://www.javaeye.com/topic/234926" style="color:red;">http://www.javaeye.com/topic/234926</a>&nbsp;
          发表时间: 2008年08月31日
          <br/>
          声明：本文系JavaEye网站发布的原创文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>在看activerecord代码的时候，在install.rb里边有段这样的代码</p>
<pre name="code" class="ruby">  if !$sitedir
    $sitedir = File.join($libdir, "site_ruby")
  elsif $sitedir !~ Regexp.quote(version)
    $sitedir = File.join($sitedir, version)
  end</pre>
<p><br /> <br />注意那行$sitedir !~ Regexp.quote(version)，跟踪的时候，会有可能出现<br />in `=~': type mismatch: String given (TypeError)<br />这样的错误。因为$sitedir和Regexp.quote(version)都为String，我从附带的帮助文件里边找到</p>
<pre name="code" class="ruby">"cat o' 9 tails" =~ "\\d"  » 7  
"cat o' 9 tails" =~ /\d/  » 7  
"cat o' 9 tails" =~ 9  » false  
</pre>
<p><br /> 貌似也没错呀。。但是我的1.8.6的ruby上面的代码的确是通不过。很是奇怪。。于是上官网的http://www.ruby-doc.org/core/里边看，却是这样的</p>
<pre name="code" class="ruby">"cat o' 9 tails" =~ /\d/   #=&gt; 7
"cat o' 9 tails" =~ 9      #=&gt; false
</pre>
<p><br /> 看来是后来ruby core API进行了修改，猜想是install的代码n久没变了，而上面那几行代码实际上又基本没机会执行，给遗忘掉了。。。因为其他库类似的install都有这样的问题出现。。</p>
<p>&nbsp;</p>
<p>晕，这么多人给隐藏贴。。。。再也不想发贴了。</p>
          <br/><br/>
          <span style="color:red;">
            <a href="http://gzer.group.javaeye.com/topic/234926" style="color:red;">已有 <strong>2</strong> 人发表回复，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 31 Aug 2008 00:26:17 +0800</pubDate>
        <link>http://www.javaeye.com/topic/234926</link>
        <guid>http://www.javaeye.com/topic/234926</guid>
      </item>
      <item>
        <title>实践百度加密链接解码并尝试Ruby抓取新歌Top100</title>
        <author>JavaEye网站</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://suninny.javaeye.com">Suninny</a>&nbsp;
          链接：<a href="http://www.javaeye.com/topic/234640" style="color:red;">http://www.javaeye.com/topic/234640</a>&nbsp;
          发表时间: 2008年08月30日
          <br/>
          声明：本文系JavaEye网站发布的原创文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>&nbsp;</p>
<p>配合<a href="../../../blog/234635">之前</a>
写好了的<a href="../../../topics/download/c8dbc453-b7b9-3b82-8fe4-56d722543479" title="Decode">Decode.rb</a>
，来个爬虫实践。</p>
<p>&nbsp;</p>
<p><a href="../../../topics/download/3f1c3598-9f92-33a3-8d21-d997b44d57e1">最新代码.tar.gz 打包下载</a>
</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<pre name="code" class="ruby">#...
text = lambda { |x| unicode.iconv(x.inner_text) }
link = lambda { |x| x[:href] }

whats = open(WHATS) { |f| Hpricot(f) }
singers = (whats/&quot;/html/body/table[3]/tr/td/a[2]&quot;).collect &amp;text
songs = (whats/&quot;/html/body/table[3]/tr/td/a[1]&quot;)
song_names = songs.collect &amp;text 
song_urls = songs.collect &amp;link

File.open(&quot;top100_list.txt&quot;, &quot;w&quot;) do |os|
  song_urls.each_with_index do |song, i|
    #exit if i == 20 # 这里控制排行榜歌曲数 
    os &lt;&lt; &quot;#{i+1}. #{singers[i]} - #{song_names[i]}\n&quot;
    links = open(song){ |f| Hpricot(f) }
    urls = (links/&quot;/html/body/div[2]/table[2]/tr/td[2]/a[1]&quot;).collect &amp;link 
    urls[0..1].each do |url| # 这里控制每首歌的链接数
      page = Net::HTTP.get(URI.parse(URI.encode(url)))
      os &lt;&lt; decode(unicode.iconv($1)) &lt;&lt; &quot;\n&quot; if page =~ /var .=&quot;(.*)&quot;,J/
    end
    os &lt;&lt; &quot;\n&quot;
  end
end</pre>
&nbsp;&nbsp;
<p>Hpricot的解析速度还是不错的。生成的文件内容（片断）如下：</p>
<div class="quote_title"> 写道</div>
<div class="quote_div">1. 成龙 - 难说再见<br />
<a href="http://www.qzone168.com/fd/nszj2008.mp3" target="_blank">http://www.qzone168.com/fd/nszj2008.mp3</a><br />
<a href="http://www.readerstimes.com/bbs/attachments/" target="_blank">http://www.readerstimes.com/bbs/attachments/</a>难说再见.wma<br />
<br />
2. 李玖哲 - 别说<br />
<a href="http://mp3.khtyut.com/2003-11-6/impurity/mule/2001-7-4/10852.wma" target="_blank">http://mp3.khtyut.com/2003-11-6/impurity/mule/2001-7-4/10852.wma</a><br />
<a href="http://tdr518.xbzh.net/blog/UploadFiles/2008-8/826547620.mp3" target="_blank">http://tdr518.xbzh.net/blog/UploadFiles/2008-8/826547620.mp3</a><br />
<br />
3. 李宇春 - 梨花香<br />
<a href="http://bbs.xuanmirs.net/UpFile/UpAttachment/2008-8/2008819221915.mp3" target="_blank">http://bbs.xuanmirs.net/UpFile/UpAttachment/2008-8/2008819221915.mp3</a><br />
<a href="http://220.179.123.221:8031/Song/200872512124594322.mp3" target="_blank">http://220.179.123.221:8031/Song/200872512124594322.mp3</a><br />
<br />
4. 蔡健雅 - 依赖<br />
<a href="http://mp3.ge520.com/20080731/001/M10565/10.Wma" target="_blank">http://mp3.ge520.com/20080731/001/M10565/10.Wma</a><br />
<a href="http://www.5290007.cn/pycs/C/2008814498233/450352810.Wma" target="_blank">http://www.5290007.cn/pycs/C/2008814498233/450352810.Wma</a><br />
<br />
5. 梁静茹 - 今天情人节<br />
<a href="http://mp3data.pizyy.cn:8898/19z/0/tingxingeyyyyqx080821/1/6ce54b8f1f83960b_7.wma" target="_blank">http://mp3data.pizyy.cn:8898/19z/0/tingxingeyyyyqx080821/1/6ce54b8f1f83960b_7.wma</a><br />
<a href="http://lan4.cha44.com/shuju4/7133/7.wma" target="_blank">http://lan4.cha44.com/shuju4/7133/7.wma</a><br />
<br />
6. 刘璇 - 出发<br />
<a href="http://www.ikala.cn/images/0815/chufa.mp3" target="_blank">http://www.ikala.cn/images/0815/chufa.mp3</a><br />
<a href="http://ent.sdinfo.net/yy/st/images/20080813/14740.mp3" target="_blank">http://ent.sdinfo.net/yy/st/images/20080813/14740.mp3</a><br />
<br />
7. 陈奕迅 - 歌颂<br />
<a href="http://wma222.8easy.com:5118/wma5/2008/2008-8-19/48748_552188.wma" target="_blank">http://wma222.8easy.com:5118/wma5/2008/2008-8-19/48748_552188.wma</a><br />
<a href="http://wma222.8easy.com:5118/wma5/2008/2008-8-19/ZWpqaG2VbG1jY2tsNQ" target="_blank">http://wma222.8easy.com:5118/wma5/2008/2008-8-19/ZWpqaG2VbG1jY2tsNQ</a>$$.wma<br />
<br />
8. 刘德华 - 未到伤心处<br />
<a href="http://www.lingshengzhan.com/ting/" target="_blank">http://www.lingshengzhan.com/ting/</a>刘德华-未到伤心处.mp3<br />
<a href="http://www.lingshengzhan.com/ting/%C1%F5%B5%C2%BB%AA-%CE%B4%B5%BD%C9%CB%D0%C4%B4%A6.mp3" target="_blank">http://www.lingshengzhan.com/ting/%C1%F5%B5%C2%BB%AA-%CE%B4%B5%BD%C9%CB%D0%C4%B4%A6.mp3</a><br />
<br />
9. 袁泉 - 亚热带巧克力<br />
<a href="http://mp3.ge520.com/20080803/001/M10376/3.Wma" target="_blank">http://mp3.ge520.com/20080803/001/M10376/3.Wma</a><br />
<a href="http://lanjiao4.cha44.com/shuju4/6998/8.wma" target="_blank">http://lanjiao4.cha44.com/shuju4/6998/8.wma</a><br />
<br />
10. 阿信 - 走火入魔<br />
<a href="http://creativecommons.org.tw/formoz/people/auly7/auly7-2388.mp3" target="_blank">http://creativecommons.org.tw/formoz/people/auly7/auly7-2388.mp3</a><br />
<a href="http://www.brantanus.com/download/public/zhouhuorumo.wma" target="_blank">http://www.brantanus.com/download/public/zhouhuorumo.wma</a><br />
<br />
14. 薛之谦 - 传说<br />
<a href="http://www.hmdt.cn/hm_fm103/upfiles/" target="_blank">http://www.hmdt.cn/hm_fm103/upfiles/</a>排行榜/音乐排行榜（内地）/传说%20%20薛之谦.mp3<br />
<a href="http://image.fotoever.com/PhotoServer01/Blog/Music/1135313/6152008120118AM30981.mp3" target="_blank">http://image.fotoever.com/PhotoServer01/Blog/Music/1135313/6152008120118AM30981.mp3</a><br />
<br />
15. 梁静茹 - 如果能在一起<br />
<a href="http://ting.aitingge.com/09/" target="_blank">http://ting.aitingge.com/09/</a>梁静茹-如果能在一起.Wma<br />
<a href="http://s3.mp3-codes.com/747949340.mp3" target="_blank">http://s3.mp3-codes.com/747949340.mp3</a><br />
<br />
29. 魏如萱 - 等等等<br />
<a href="http://300.com.cn/mp3/" target="_blank">http://300.com.cn/mp3/</a>魏如萱/泡泡/01.mp3<br />
<a href="http://wma.92yaya.com/2008/92yaya_com_wma/2008heji/feizhuliuhuarenph/1/080528.wma" target="_blank">http://wma.92yaya.com/2008/92yaya_com_wma/2008heji/feizhuliuhuarenph/1/080528.wma</a><br />
<br />
<br />
42. 陈奕迅 - 漂亮小姐<br />
<a href="http://121.14.157.212:77/aaaa/" target="_blank">http://121.14.157.212:77/aaaa/</a>陈奕迅/漂亮小姐.wma<br />
<a href="http://old.q915.com/radio/attachments/discss/Chen/08.mp3" target="_blank">http://old.q915.com/radio/attachments/discss/Chen/08.mp3</a><br />
<br />
43. 莫文蔚 - 回家的路<br />
<a href="http://www.bjtzr.com/zh/write/" target="_blank">http://www.bjtzr.com/zh/write/</a>回家的路莫文蔚.wma<br />
<a href="http://bbs.jiashan.gov.cn/music/name/808.wma" target="_blank">http://bbs.jiashan.gov.cn/music/name/808.wma</a><br />
<br />
68. 古巨基 - 我们的彩虹<br />
<a href="http://www.t8t8.com:8088/upload/music188/t8t8_20080531025316140.mp3" target="_blank">http://www.t8t8.com:8088/upload/music188/t8t8_20080531025316140.mp3</a><br />
<a href="http://nnn.7t7t.com//pycs/Z/20086132920095/29203101.wma" target="_blank">http://nnn.7t7t.com//pycs/Z/20086132920095/29203101.wma</a><br />
<br />
69. 萧亚轩 - 之后<br />
<a href="http://www.qianxun.com/UploadFiles/Music/576/196/57620080819164809384.wma" target="_blank">http://www.qianxun.com/UploadFiles/Music/576/196/57620080819164809384.wma</a><br />
<a href="http://music.dlmu.net/mp3/x/xiaoyaxuan1/7.Wma" target="_blank">http://music.dlmu.net/mp3/x/xiaoyaxuan1/7.Wma</a><br />
<br />
70. 王麟 - 勇敢的梦想<br />
<a href="http://media.music.xunlei.com/resource/65/65285ad8c5e431fbe828f18b489becfe.mp3" target="_blank">http://media.music.xunlei.com/resource/65/65285ad8c5e431fbe828f18b489becfe.mp3</a><br />
<a href="http://fundown.china.com/music/wanglin/yonggandemengxiang.mp3" target="_blank">http://fundown.china.com/music/wanglin/yonggandemengxiang.mp3</a><br />
<br />
95. 品冠 - 现在就想见的人<br />
<a href="http://www.longqiaohome.com/downloads/music/" target="_blank">http://www.longqiaohome.com/downloads/music/</a>黄品源/08.现在就想见的人.mp3<br />
<a href="http://www.kldktv.com/xgkbsong/xzjxjdr.wma" target="_blank">http://www.kldktv.com/xgkbsong/xzjxjdr.wma</a><br />
<br />
99. s.h.e - 让自己亮起来<br />
<a href="http://www.ok665.com/mp3/rangzi.wma" target="_blank">http://www.ok665.com/mp3/rangzi.wma</a><br />
<a href="http://www.ucoaaa.net.cn/wm510/1210731541.wma" target="_blank">http://www.ucoaaa.net.cn/wm510/1210731541.wma</a><br />
<br />
100. js - 你是此生最美的风景<br />
<a href="http://www.qianxun.com/UploadFiles/Music/576/196/57620080819005552884.mp3" target="_blank">http://www.qianxun.com/UploadFiles/Music/576/196/57620080819005552884.mp3</a><br />
<a href="http://sq.txdnl.com/mwt/j/s/i/j/jsij/playlists/183339/1499529.mp3" target="_blank">http://sq.txdnl.com/mwt/j/s/i/j/jsij/playlists/183339/1499529.mp3</a><br />
</div>
&nbsp;
<p>感兴趣的同学还可以参考这两篇帖子：</p>
<p>&nbsp;</p>
<p><a href="http://forum.ubuntu.org.cn/viewtopic.php?t=132672&amp;highlight=">用Bash抓歌曲（不过我没运行成功）</a>
</p>
<p>&nbsp;</p>
<p><a href="http://forum.ubuntu.org.cn/viewtopic.php?t=142965&amp;highlight=">获取百度下载地址的其他方法</a>
（有Java/Python/Bash等）</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
          <br/><br/>
          <span style="color:red;">
            <a href="http://gzer.group.javaeye.com/topic/234640" style="color:red;">已有 <strong>2</strong> 人发表回复，猛击-&gt;&gt;<strong>这里</strong>&lt;&lt;-参与讨论</a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sat, 30 Aug 2008 00:20:48 +0800</pubDate>
        <link>http://www.javaeye.com/topic/234640</link>
        <guid>http://www.javaeye.com/topic/234640</guid>
      </item>
  </channel>
</rss>
