用nodejs抓取Itunes前台内容

思路可以看之前的文章,我就不多说了。
因为AppStore的页面版只显示3天评论,所以,这次介绍的是抓取应用版的内容。
我们以抓取AppStore上一款新上的Super Mario Run的评论为例,写一个简单的爬虫

  • 获取itunes评论
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);
    })

node 运行后,控制台打印如下内容:

body打印结果

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

接收到的内容
  • 筛选需要的数据
    知道结构了就很简单了,直接写一个format方法就可以打印数据了
    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,传入转换成json的body

 request(options,(error, response, body)=>{
        var datas=JSON.parse(body)
        formatJson(datas);
    })

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

Super Mario Run评论结果

因为这款游戏没有在中国区上,所以要翻墙,不翻墙可以找一款中国区商店有的应用,将链接中的cc换成cn即可。不明白具体可参照之前抓取思路那篇文章。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,073评论 19 139
  • 大致思路:请求一个页面接收到页面的html代码,解析代码拿到想要的数据。 我们以抓取googlePlay上2016...
    xxt1ngt1ng阅读 4,761评论 3 4
  • 使用 HTTP 服务器或客户端功能必须调用require('http')。 Node 里的 HTTP 接口支持协议...
    保川阅读 5,225评论 0 1
  • 工厂模式类似于现实生活中的工厂可以产生大量相似的商品,去做同样的事情,实现同样的效果;这时候需要使用工厂模式。简单...
    舟渔行舟阅读 12,396评论 2 17
  • https://nodejs.org/api/documentation.html 工具模块 Assert 测试 ...
    KeKeMars阅读 11,524评论 0 6

友情链接更多精彩内容