使用ruby获取yobo的飙升榜
首先准备两个文件
<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">
</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>
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
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的飙升榜相关推荐
- Python下载网易云音乐(云音乐飙升榜)
最近突然想用python写一个自动下载的工具,于是就先拿网易云来练练手,并把过程中的心得写下来便于后面有想玩这个的童鞋们参考. 首先我们分析网页源码,找到我们想要的获取数据位置: 每一个标签对应着飙升 ...
- 【爬虫实战项目】Python爬虫批量下载音乐飙升榜并保存本地(附源码)
前言 今天给大家介绍的是Python爬虫批量下载音乐飙升榜并保存本地,在这里给需要的小伙伴们代码,并且给出一点小心得. 首先是爬取之前应该尽可能伪装成浏览器而不被识别出来是爬虫,基本的是加请求头,但是 ...
- 实战 SQL:亚马逊、京东等电商平台的销售排行榜和飙升榜
文章目录 示例表和数据 按照产品分类的销售排行榜 按照产品分类的销量飙升榜 总结 大家好,我是只谈技术不剪发的 Tony 老师.不知道你有没有注意过,在亚马逊或者京东等电商平台的网站上都提供了准实时的 ...
- 数据可视化matplotlib(一)---亚马逊销售飙升榜
数据可视化是数据分析的重要任务之一. 之前有获取到亚马逊销售飙升榜的数据,但是排名只是按列表顺序排序,销售排名上升的幅度只有数字的变化,体现的不是很直观. 所以使用python的matplotlib实 ...
- Python批量下载网易云音乐飙升榜所有音乐文件
Python小屋刷题神器最近升级的新功能介绍 推荐教材:<Python程序设计基础与应用>(ISBN:9787111606178),董付国,机械工业出版社,2018.8出版,2021.3第 ...
- Ruby 获取 HTTP 回应的编码和内容
Ruby 获取 HTTP 回应的编码和内容 require 'net/http' response = Net::HTTP.get_response('www.oschina.net, '/code/ ...
- 《程序员羊皮卷》荣升当当IT图书飙升榜第一名
<程序员羊皮卷>三章免费下载版地址:http://download.csdn.net/source/1766653 当当购买地址:http://product.dangdang.com/p ...
- python爬取网易云音乐飙升榜音乐_python爬取网易云音乐热歌榜单(获取iframe中数据,src为空)...
一.分析思路 网易云音乐热歌榜的页面采用嵌入内联框架的方式,若爬虫直接从官网入口进入访问热歌榜 http://music.163.com/#/discover/toplist?id=3778678,是 ...
- Python爬取Boss直聘,获取全国Python薪酬榜
深感抱歉 本来这篇文章应该是在昨天发的,可是电脑出了问题蓝屏了.晚上回来重装了系统,结果还是搞到了现在. 今天想和大家聊聊Python与爬虫 python之所以能迅速风靡全国,和大街小巷各种的培训机构 ...
最新文章
- Lync 2010的点击呼叫设置
- openstack安装rabbitmq-server消息队列时出现错误
- 隐藏apache版本号的方法
- JavaScript 面向对象的程序设计1
- CF827F-Dirty Arkady‘s Kitchen【堆】
- 华南地区最大数据中心上线 阿里云河源数据中心正式开服
- 教你怎么蹭网实现和dualwan双倍网速上网
- 安装报错_MySQL8.0安装后,报错ERROR 1045 (28000)
- python代码读取外部变量_在Python中从外部文件中写入和读取特定的变量
- SpringAOP-基于@AspectJ的简单入门
- 【数据库原理实验(openGauss)】视图
- html设置表格边框样式
- 【转载】嵌入式自学经历和体会
- gif转为帧(gif分解)加分解图片批量打包下载
- 微信小程序分享/转发功能方法
- RegExp-2 【正则量词、属性、方法、使用技巧】
- JS:中文输入法,日文输入法做最大位数Check的坑maxlength
- Dell服务器的iDRAC虚拟控制台无法连接
- C++ -- STL文件解析
- 计算机的英语怎么拼读,拼音拼读怎么教