咋用python采集js渲染的页面即网易云音乐歌单列表页的数字

请求这个地址: http://music.163.com/api/playlist/detail?id=\u0026lt;id\u0026gt;必要参数 id 为 歌单id,对应歌单的 url 里面的 id 就是这个参数啦然后得到的请求结果为一串 JSON 数据,用工具(JSON在线编辑)解析一下就能得到看到需要的数据了。其中字段:subscribedCount:收藏次数shareCount :分享次数commentCount :评论次数playCount :播放次数...比如这个歌单 网易云音乐 听见好时光 , id = 11362719咋用python采集js渲染的页面即网易云音乐歌单列表页的数字

GET请求 http://music.163.com/api/playlist/detail?id=11362719解析出 JSON 后得到数据咋用python采集js渲染的页面即网易云音乐歌单列表页的数字

收藏 23593分享 935评论 638播放 925246完。参考:网易云音乐常用API浅析
■网友
要不直接采集他这一段的JSON
一般这种都是通过JSON文件通讯请求更新数据的
咋用python采集js渲染的页面即网易云音乐歌单列表页的数字



■网友
\u0026lt;span class="time s-fc4"\u0026gt;2013-02-07\u0026amp;nbsp;创建\u0026lt;/span\u0026gt;\u0026lt;/div\u0026gt;\u0026lt;div id="content-operation" class="btns f-cb" data-rid="152261" data-type="13" data-special="0"\u0026gt;\u0026lt;a data-res-action="play" data-res-id="152261" data-res-type="13" href="javascript:;" class="u-btn2 u-btn2-2 u-btni-addply f-fl" hidefocus="true" title="播放"\u0026gt;\u0026lt;i\u0026gt;\u0026lt;em class="ply"\u0026gt;\u0026lt;/em\u0026gt;播放\u0026lt;/i\u0026gt;\u0026lt;/a\u0026gt;\u0026lt;a data-res-action="addto" data-res-id="152261" data-res-type="13" href="javascript:;" class="u-btni u-btni-add" hidefocus="true" title="添加到播放列表"\u0026gt;\u0026lt;/a\u0026gt;\u0026lt;a data-res-id="152261" data-res-type="13" data-count="420649" data-res-action="fav" class="u-btni u-btni-fav " href="javascript:;"\u0026gt;\u0026lt;i\u0026gt;(42万)\u0026lt;/i\u0026gt;\u0026lt;/a\u0026gt;http://p3.music.126.net/C4F_cFkqS6u_7x6hJKursQ==/7812030116003837.jpg" class="u-btni u-btni-share " href="javascript:;"\u0026gt;(15126)\u0026lt;a data-res-id="152261" data-res-type="13" data-res-action="download" class="u-btni u-btni-dl " href="javascript:;"\u0026gt;\u0026lt;i\u0026gt;下载\u0026lt;/i\u0026gt;\u0026lt;/a\u0026gt;\u0026lt;a data-res-action="comment" href="javascript:;" class="u-btni u-btni-cmmt "\u0026gt;\u0026lt;i\u0026gt;(\u0026lt;span id="cnt_comment_count"\u0026gt;11649\u0026lt;/span\u0026gt;)\u0026lt;/i\u0026gt;\u0026lt;/a\u0026gt;\u0026lt;/div\u0026gt;看其中\u0026lt;i\u0026gt;(42万)\u0026lt;/i\u0026gt; (15126)11649
■网友
js的数据之所以没办法直接从网页请求响应的源码中获取,原因就是源码中并没有数据,从网页展示的原理上讲,js会在网页渲染的过程中运行代码逻辑,并有可能修改网页内容。也就是说,你获取了js运行之前的html源码,这里可能没有你要的数据,但是在浏览器运行js代码后,数据就会被计算出来并且显示在网页中。要获取此类js数据,一般有两种途径,一种比较简单的就是使用浏览器加载网页,然后从浏览器中提取,因为浏览器会自动运行js,所以这种就不管什么js数据或者什么数据都可以一样的提取,可以说不用关心js。八爪鱼采集器就是使用这种方式的。第二种途径比较复杂,即通过分析js源代码,寻找里面的逻辑关系,一般来说js会负责请求服务器,获取数据,然后修改网页并将数据显示出来。通过编写python或者其他语言代码,模拟该请求,截取数据即可,因为每个网页的js代码都不一样,请求的参数和响应的数据内容格式也都不一样,因此需要case by case的分析,此外一般需要使用网络抓包工具辅助。


推荐阅读