对某音乐网站歌曲链接抓取的分析
来源:互联网 发布:南京网络推广江苏斯点 编辑:程序博客网 时间:2024/05/09 19:10
一、用到的工具:
chrome
fiddler
二、网站内容分析
1、打开该网站,分析页面歌曲链接,特点是都在尾端连接一个数字序列,猜测为songid。
2、点击歌曲,跳转到歌曲播放页面,通过查看页面的源代码,分析js代码,发现页面有该歌曲的json数据(包括歌曲id,src等信
息),使用chrome内置console.log()方法打印当前页面播放器对象,发现
entityde currentSrc属性为歌曲的链接地址。在浏览器打开
该地址跳转到首页,而不是真正的歌曲地址。该歌曲地址在chrome开发工具切换到network选项也能得到,在fiddler一样得到。
在fiddler中发现页面在打开该歌曲地址时,网站302 跳转到真正的歌曲地址(response header里面有location到真正的歌曲
地址)。至此,明白了该网站隐藏歌曲地址的原理,通过ajax异步获取该歌曲的相对路径,生成歌曲的解析地址,再通过ajax异步
解析歌曲的真正地址进行播放。
3、通过分析该网站的歌曲搜索,异步加载歌曲搜索结果,该结果是jsonp格式返回歌曲搜索结果的。这为在本地构建一个歌曲
搜索提供了支持。
三、本地搜索歌曲模拟
1、编写一个简单的歌曲搜索页面,当提交查询时,能够跨域异步获取该网站对该关键词的查询结果,结果包括该歌曲的songid,
src(相对地址)、singerName等。
2、在歌曲异步获取的success:function(){}中完成对歌曲真正地址的解析,地址解析的基本步骤就是通过在后台服务端请求
解析地址,获取response header信息,提取location属性值得到该歌曲的真正地址,返回给前端,进而生成了真正歌曲链接。
四、总结本次抓包分析
1、chrome内置的console功能强大,可以直接打印javascript对象、数组,查看数据情况。
2、fiddler抓包分析,能够根据http code了解请求、返回结果情况。
3、jsonp的使用,fiddler内置json数据解析。
4、对该网站的js代码分析,接受到了跨域的其他技术比如window.name与document.domain在根域名相同的情况,二级域名
跨域访问的问题。
5、通过使用jquery,学习了为动态生成的元素绑定事件的方法在动态生成的元素的父元素上(静态).live('eventname','要
绑定的元素',function(){}。
- 对某音乐网站歌曲链接抓取的分析
- 适合程序员的音乐网站和歌曲列表
- 音乐网站之歌曲选择
- xiami flash播放器对歌曲链接的解密算法
- Python爬虫下载QQ音乐网站歌曲
- 抓取5sing上的歌曲
- 对链接分析的重要性
- 歌曲链接
- 好的音乐网站
- 对lds链接脚本的分析,唉!
- 音乐网站
- 挖掘暗信息:分析用户收藏的歌曲的歌手对产生推荐列表产生的影响
- 开发自己的音乐网站(1)
- visual studio 2010下 C# 编写的一个简单的网页源代码分析、链接抓取器
- .net对html的抓取
- Python抓取网页云音乐指定歌手的歌曲和评论数量
- 抓取http网页的全部链接
- 抓取网页链接的php类:snoopy
- Unity+高通Vuforia SDK——AR播放视频
- hdu 1248 寒冰王座(完全背包)
- [C++]C++中的虚函数
- 分布式一致性原理、Paxos算法与Zookeeper的ZAB协议、Zookeeper使用场景与在电商系统中的应用
- MySql_安装
- 对某音乐网站歌曲链接抓取的分析
- JDK中的Poxy类简单实现动态代理
- <<Linux内核完全剖析 --基于0.12内核>>学习笔记 第4章 80x86保护模式及其编程 4.4 分页机制
- Markdown
- hdu 1175 连连看
- Xcode基本操作
- Android MVP模式的简单实现
- 重写系统返回键
- Android文件共享之检索文件信息