位置: 编程技术 - 正文

Android 数据抓取——在线音乐播放器的实现(android抓取各种log的方法)

编辑:rootadmin

推荐整理分享Android 数据抓取——在线音乐播放器的实现(android抓取各种log的方法),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:抓取android数据包,android抓取其他app数据,安卓抓取日志方法,抓取android数据包,抓取android设备数据包的工具,android抓取其他app数据,android抓取其他app数据,抓取android数据包,内容如对您有帮助,希望把文章链接给更多的朋友!

前言: 相信很多同学学习android都开做过播放器一类的小玩意吧,但是苦于没有服务器提供数据,因而只能做个本地播放器,今天,这篇文章就是通过数据抓取,实现没有服务器,依然可以在线搜索和播放音乐!

首先,贴上我的最终实现效果:

因为数据是从虾米搜索页抓过来的,所以我把虾米logo加上去了,请大家忽略,下面来讲基本思路,首先虾米有这样一个隐藏的API:

id后面接上歌曲ID就能请求的改id的歌曲信息: 如图所示:

所以,我们只需要知道歌曲ID就能获得歌曲信息了,一切都成为可能了,那么问题来了! 我们怎么获取歌曲ID呢?————没错,今天的主角登场 ——Jsoup 我们用它去虾米搜索结果抓歌曲ID! 首先我们看看虾米的搜索网址:

然后我们对页面审查源代码,我们可以清楚的发现,所有搜索结果是放在一个 名为 track_list的 table中(也就是html表格中),如图所示: 我们继续往里面看: 在一个chkbox的 标签里面发现了一串数字,测试之前的我们的接口,果然是相符的,id就是它了!

Android 数据抓取——在线音乐播放器的实现(android抓取各种log的方法)

接下来就是写代码了! 首先我们导入jsoup的jar包到我们的项目中 Jsoup下载地址: Jsoup 需要添加网络权限

核心逻辑解释: 首先我们用Jsoup.connect(url).get()方法获得一个document对象,然后用document对象去筛选我们先分析的那个表也就是track_list 返回一个Elements对象,我们在此筛选 chkbox,依然返回一个Elements 对象,由于歌曲有很多首,我们需要遍历一下,再选择input 标签获得我们的id

上面方法就能获得我们的歌曲id,我们将它们封装在一个list中,在抓取id完成以后,我们依次取出list中的id去请求api 然后封装在一个list:中,便于在listview中展示:

Music.java实体类

这边 歌曲地址是经过加密的,我们用的时候要先解密,算法在demo里面。 在抓取完数据获得list以后,我只需写一个adpter,将数据用listview展示即可, 效果如下:

这里大功告成,在线搜索列表完成,要实现在线播放,只需要在listview点击的时候 使用 MediaPlayer.setDataSource(歌曲在线地址)即可,获得了在线地址,下载实现起来也很简单(自己写,或者借助第三方框架 xutils等均可)在这里本文主要讲核心抓取逻辑,这里就不做阐述了。 注意事项: getIds()方法是网络访问,因此需要在子线程中调用,在主线程调用会报错,在数据获取完成以后,通过handler 再给listview设置adpter即可,具体代码大家请参考Demo. 数据抓取毕竟是拿别人网站上的数据,仅供学习使用,请不要用于任何商业用途! 有任何问题请留言或者私信! 点此Demo源码下载

版权声明:本文为博主原创文章,未经博主允许不得转载。

关于android sqlite数据库使用的几点心得 1.errorcode:错误原因(下面三种是网友总结的)情况1:你定义的字段为notnull而插入时对应的字段却没值。情况2:你定义的字段设定PRIMARY,而插入的值已

Android中把时间戳转化为对应的时长 publicstaticStringGetStringFromLong(longtimeLong){longss=timeLong/;longmm=ss/;longhh=mm/;Strings;Stringm;Stringh;if(ss%){s=0ss%;}else{s=ss%;}if(mm%){m=0mm%;}else{m=mm%;}if(hh%6

Material Design控件使用(一) Google发布的MaterialDesign支持库,对我们的APP设计有很大的影响,如果重新设计APP,支持库应该直接用V4提升到V7了,我们可以用Toolbar代替ActionBar,以及引

标签: android抓取各种log的方法

本文链接地址:https://www.jiuchutong.com/biancheng/374370.html 转载请保留说明!

上一篇:Activity 的生命周期(activity的生命周期有哪些状态)

下一篇:关于android sqlite数据库使用的几点心得(关于android中view的说法正确的是)

  • 企业所得税应纳税所得额怎么算
  • 购入房产计入什么科目
  • 经营性应付项目增加导致现金流量
  • 非房产企业出售不动产需要缴纳增值税吗
  • 增值税加计扣除政策
  • 利润率的百分比
  • 滴滴行程单修改器
  • 城市生活垃圾费是业主出还是物业出
  • 企业与政府土地合作开发模式
  • 房产税直接减免政策
  • 增值税专用发票抵扣期限
  • 应付职工薪酬如何具体到个人
  • 对外投资所得税计算公式
  • 无形资产界定标准
  • 产品成本核算需要经过哪些程序
  • 应付职工薪酬如何填列
  • 营改增后建筑企业的账务处理
  • 递延所得税如何计算
  • 合并报表时抵消内部交易包含的未实现损益的影响有哪些
  • 出口免费样品发票怎么开
  • 滞留票的进项税能抵扣吗
  • 技术服务发票的单位是什么
  • 转让公司账本凭证都要移交吗
  • 出口退税申报里汇率计算方式选择
  • 苹果macos catalina10.15.7
  • 工商年报财务数据怎么填
  • 企业购入用于捐赠的物品
  • windows无法连接到打印机指定的网络名不再可用
  • 合同资产和合同负债属于什么科目
  • 收到以前年度退回的企业所得税
  • 建筑业 分包
  • 如何删除文档中多余的页
  • 合作社实际没有自产自销,但税务方面怎么可以提供证明
  • PHP:Memcached::prepend()的用法_Memcached类
  • 单位管理费用核算
  • 财务管理是如何工作的
  • 火灾造成存货损失应该作为报废还是盘亏
  • 技术维护费计入
  • 补缴上年度未开票收入增值税,怎么做账
  • 应收账款怎么做账
  • 库存现金账务处理案例
  • php获取开始与结束的函数
  • 小程序生命周期钩子
  • opencv调用yolov8
  • php 遍历字符串
  • 利润表三步法
  • 税控盘抵税的会计分录
  • 暂估价与发票价的区别
  • 员工宿舍水电费计入什么会计科目
  • 开票额度超了怎么办
  • 实际发生坏账损失不影响应收账款
  • 异地如何申报纳税
  • 社保可以抵扣吗
  • 国债利息收入要征税吗
  • 活动策划费属于哪个开票项目
  • 民办非企业单位工会经费
  • 营业执照注销对商标有影响吗?
  • 广告公司的广告制作费计入什么科目
  • 购进国内交通运输产品
  • 退货给谁
  • 微信支付的账务在哪里
  • 员工代垫费用能用公户转吗
  • 销售费用进项税抵扣
  • 收到保险公司的赔款计入什么科目
  • 装订好的凭证可以拿掉一页吗
  • mysql 元组
  • win7系统运行红警黑屏有声音
  • Linux Shell 通配符、元字符、转义符使用实例介绍
  • Win7系统如何开启移动到文件夹选项
  • win7 64位旗舰版如何实现快速删除U盘?win7快速删除U盘的设置方法
  • 两个linux系统之间如何传文件
  • linux命令行技巧
  • 网页标准化技术有哪些
  • css框架结构
  • python的例子
  • 甘肃职称申报评审入口官网
  • 美国对中国纺织服装关税
  • 青海国税局官网
  • 讲话和讲话精神的区别
  • 纳税服务投诉整改报告
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设