nodejs抓取动态网页(思路可以看之前bodyRun的抓取应用版的内容介绍)

优采云 发布时间: 2022-04-03 13:12

  nodejs抓取动态网页(思路可以看之前bodyRun的抓取应用版的内容介绍)

  思路可以看前面的文章,我就不多说了。

  因为AppStore的页面版只显示3天的评论,所以这次就介绍一下app版的内容。

  我们编写一个简单的爬虫,以在 AppStore 上抓取一个新的超级马里奥跑的评论为例

  var request=require('request');

var url='http://itunes.apple.com/WebObjects/MZStore.woa/wa/userReviewsRow?cc=us&id=1145275343&displayable-kind=11&startIndex=0&endIndex=100&sort=0&appVersion=all'

var options = {

port: 80,

uri: url,

method: 'GET',

headers: {

'User-Agent': 'iTunes/11.0 (Windows; Microsoft Windows 7 Business Edition Service Pack 1 (Build 7601)) AppleWebKit/536.27.1'

}

};

request(options,(error, response, body)=>{

console.log(body);

})

  节点运行后,控制台打印如下:

  

  正文打印结果

  这个链接是专门用来获取评论相关数据的,我们可以整理一下,看看每条评论的结构

  

  收到的内容

   function formatJson(contentsDate){

content=contentsDate.userReviewList;

content.forEach(function(item){

console.log('orginId:'+item.userReviewId);

console.log('username: ' + item.name + ' time:' + item.date);

console.log('star: ' + item.rating);

console.log('title: ' + item.title);

console.log('content: ' + item.body);

console.log('------------------------------------');

})

}

  在之前打印body的地方调用formatJson,传入body转换成json

   request(options,(error, response, body)=>{

var datas=JSON.parse(body)

formatJson(datas);

})

  运行文件,可以看到打印结果:

  

  超级马里奥跑酷评测结果

  因为这个游戏在中国不可用,所以你需要翻墙。不翻墙的话,可以在中国的商店里找一个app,把链接里的cc换成cn。不明白具体可以参考上一篇文章文章。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线