日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

使用ruby获取yobo的飙升榜

發布時間:2023/12/29 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用ruby获取yobo的飙升榜 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
這里使用ruby里面非常實用的庫 mechanize和hpricotsudo gem install?hpricotsudo gem install mechanize
首先準備兩個文件
head.html<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="author" content=" [email]service@yobo.com[/email] "/>
<meta name="Copyright" content="www.yobo.com 版權所有,違者必究" />
????????????<title>飆升榜單 < YOBO - YOBO 友播 音樂DNA</title>
????????????<meta name="keywords" content="飆升榜單,YOBO,音樂DNA,音樂心理測試,音樂推薦,免費音樂,在線試聽,YOBO,友播" />
????????????<meta name="description" content="在YOBO查看單曲飆升榜" />

<link rel="shortcut icon" href="/favicon.ico" />
<link href="http://assets.yobo.com/stylesheets/yobo_nav_v4.11590.css" media="screen" rel="Stylesheet" type="text/css" />
<link href="http://assets.yobo.com/stylesheets/yobo_base.10705.css" media="screen" rel="Stylesheet" type="text/css" />
<link href="http://assets.yobo.com/stylesheets/yobo_feed.11912.css" media="screen" rel="Stylesheet" type="text/css" />
<script src="http://assets.yobo.com/javascripts/base.9902.js" type="text/javascript"></script>
<script src="http://assets.yobo.com/javascripts/yobo_nav.10930.js" type="text/javascript"></script>
<script language="javascript" type="text/javascript" src="http://assets.yobo.com/javascripts/fckeditor/fckeditor.js"></script>
<script language="javascript" type="text/javascript" src="http://assets.yobo.com/javascripts/yobo_const_10839.js" charset="utf-8"></script>
<link href="http://assets.yobo.com/stylesheets/yobo_aggr.8548.css" media="screen" rel="Stylesheet" type="text/css" />
<script src="http://assets.yobo.com/javascripts/yobo_base.11954.js" type="text/javascript"></script>
<script src="http://assets.yobo.com/javascripts/yobo_aggr.7969.js" type="text/javascript"></script>

</head>

<body>
??<script type="text/javascript">
???????? var s_rise_playlist = [];
??</script>
????????????????<form id="aggrmusicrise_risetable" class="aggr_block" onsubmit="return false;">??
????????????????????????<table class="aggrmusic_risetable" cellpadding="0" cellspacing="0">


end.html </table>????????????????????????????
</form>


????????<div id="yobosongplayerblock" style="height:1px;">
????????<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,45,0" width="1" height="1" id="pagesongplayer" align="middle">
????????????????<param name="allowScriptAccess" value="always" />
????????????????<param name="movie" value="http://assets.yobo.com/flash/sh/shell.swf" />
????????????????<param name="quality" value="high" />
????????????????<param name="bgcolor" value="#ffffff" />
????????????????<embed src="http://assets.yobo.com/flash/sh/shell.swf" quality="high" bgcolor="#ffffff" width="1" height="1" name="pagesongplayer" align="middle" allowScriptAccess="always" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"> </embed>
????????</object>
????????<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,45,0" width="1" height="1" id="popconnector" align="middle">
????????????????<param name="allowScriptAccess" value="always" />
????????????????<param name="movie" value="http://assets.yobo.com/flash/pop/local_8657.swf" />
????????????????<param name="quality" value="high" />
????????????????<param name="bgcolor" value="#ffffff" />
????????????????<embed src="http://assets.yobo.com/flash/pop/local_8657.swf" quality="high" bgcolor="#ffffff" width="1" height="1" name="popconnector" align="middle" allowScriptAccess="always" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"> </embed>
????????</object>
</div>
????????<div id="yoboaggr_floathintdialog" style="position:absolute; width:290px; left:0px; top:0px; display:none; z-index:4000;">
????????<div style="height:7px; font-size:1px; background:url(/p_w_picpaths/icons/aggr_floathintbg.gif) no-repeat left bottom;">?</div>
????????<div style="border-left:1px solid #c2d7ea; border-right:1px solid #c2d7ea; border-bottom:1px solid #c2d7ea; padding:3px 8px; background-color:#f4faff; line-height:20px; color:#006ad0;">
????????????????<div id="yoboaggr_floathintdialogheader" style="font-weight:bold; display:none;"></div>
????????????????<div id="yoboaggr_floathintdialogcontent"></div>
????????</div>
</div>
????????<div style="position:absolute; left:-1000px; top:-1000px">
????????<img src="/p_w_picpaths/icons/yoboheaderlinkbg.gif" />
????????<img src="/p_w_picpaths/icons/leftbar_linkbg.gif" />
????????<img src="/p_w_picpaths/icons/leftbar_coloricons.gif" />
????????<img src="/p_w_picpaths/icons/leftbar_hovericons.gif" />
????????<img src="/p_w_picpaths/icons/indexme_feedbg2.gif" />
????????<img src="/p_w_picpaths/icons/userbox_iconcolor.gif" />
</div>
????????<script language="javascript" type="text/javascript">
????????//initPageInterface();
????????window.setTimeout('initPageInterface()', 1000);
????????//Event.observe(window, "load", yobo_oninitpageplayer.bindAsEventListener(this));
</script>
</div>
<script language="javascript" type="text/javascript">
????????var v = "0.0424833368770254";
</script>
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write("\<script src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'>\<\/script>" );
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-848223-1");
pageTracker._initData();
pageTracker._trackPageview();
</script>
</body>
</html>



然后呢, 打開你最習慣的代碼編輯器, 使用如下代碼yobo_music.rbrequire "rubygems"
require "mechanize"

agent = WWW::Mechanize.new
page = agent.get "http://www.yobo.com/s/rise?fr=2"
musics = page.search "//td.risesong"
tm = File.new("tm.html", "w+")
head = File.new("head.html", "r")
tm.syswrite head.read
head.close
musics.each do |music|
????tm.syswrite "<tr>"
????tm.syswrite music.to_html
????tm.syswrite "</tr>"
end


end_file = File.new("end.html", "r")
tm.syswrite end_file.read
end_file.close

tm.close
最后, 我未檢測過是否必須登錄才可以聽歌, 如果確實要登錄, 你可以嘗試這樣yobo_login.rbrequire "rubygems"
require "mechanize"

agent = WWW::Mechanize.new
page = agent.get????"http://www.yobo.com/s/rise?fr=2"
forms = page.forms
login_form = form[3]

#用戶郵箱
login_form.fields[0] = "[email]xxx@xxx.com[/email]"
#密碼
login_form.fields[1] = "xxxxxxxx"

#登錄
page = agent.submit login_form


轉載于:https://blog.51cto.com/andyss/100945

總結

以上是生活随笔為你收集整理的使用ruby获取yobo的飙升榜的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。