练手的一个项目,想爬取网易云上面的歌手信息
代码类似
const request = require('superagent');
const cheerio = require('cheerio');
request
.get('http://music.163.com/#/discover/artist/cat')
.accept('text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8')
.query({
id: 1001,
initial: 65
})
但是爬到的数据是字符串模板:
<li class="j-item" data-userId=${user.userId} data-username=${user.nickname} data-index=${user_index}><a href="#"><img src=${user.avatarUrl}>${user.nickname}</a></li>
应该怎么解决呢?谢谢~
很明显你应该去嵌入html中的
script
标签中寻找user
这个对象了,而不是盯着这个模板看。当然你也可以用phantom.js
把页面加载出来再抓取。