用nodejs爬取googlePlay前臺(tái)內(nèi)容

大致思路:
請(qǐng)求一個(gè)頁(yè)面接收到頁(yè)面的html代碼,解析代碼拿到想要的數(shù)據(jù)。

我們以抓取googlePlay上2016年度最佳游戲Pokémon GO的評(píng)論為例,寫一個(gè)簡(jiǎn)單的爬蟲

  • 獲取頁(yè)面html代碼
var request=require('request');
var url='https://play.google.com/store/apps/details?id=com.nianticlabs.pokemongo&hl=zh_CN';
request(url,(error, response, body)=>{
        console.log(body);
})

node 運(yùn)行后,控制臺(tái)打印如下內(nèi)容:


body打印結(jié)果
  • 篩選需要的數(shù)據(jù)
    這個(gè)步驟中可以用到cheerio來解析html,用jquery的方式就可以輕松取到內(nèi)容了,很方便。
    然后我們用chorme的開發(fā)者工具看一下單個(gè)評(píng)論的結(jié)構(gòu),選擇其中紅框后面的數(shù)據(jù)進(jìn)行抓取
評(píng)論結(jié)構(gòu)分析

給之前的代碼添加一個(gè)解析順便打印的函數(shù)

function formatHtml(html){
     var $=cheerio.load(html);
    var reveiws=$('.single-review');
    var reviewList=[];
    reveiws.each(function(item){
        var reveiws=$(this);
        var author=reveiws.find('.author-name').text();
        var star=reveiws.find('.tiny-star').attr('aria-label');
        var rewTitle=reveiws.find('.review-title').text();
        var rewContent=reveiws.find('.review-body').text();
        console.log('rewTitle',rewTitle);
        console.log('\n author:',author,'   star:',star);
        console.log('\n rewContent:',rewContent);
        console.log('-------------------------------------');
    })
 }

在之前打印body的地方調(diào)用formatHtml函數(shù),傳入body

request(url,(error, response, body)=>{
        formatHtml(body);
    })

運(yùn)行文件,就可以看到打印結(jié)果了:

Pokémon GO評(píng)論結(jié)果(部分)

好了,最基本的抓取就是這樣,抓不同內(nèi)容也大同小異,試一下吧~
抓完才發(fā)現(xiàn)評(píng)價(jià)并不太好哈~哈哈,可以把url最后的語(yǔ)言改成ja或者其他語(yǔ)言看看別的區(qū)的評(píng)論,就醬~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,506評(píng)論 19 139
  • <a name='html'>HTML</a> Doctype作用?標(biāo)準(zhǔn)模式與兼容模式各有什么區(qū)別? (1)、<...
    clark124閱讀 3,808評(píng)論 1 19
  • 得之我幸,失之你命
    昃葛惹閱讀 140評(píng)論 0 0
  • redis 支持更多的數(shù)據(jù)結(jié)構(gòu),如:list,set,zset,hash redis 支持?jǐn)?shù)據(jù)的備份,master...
    bitstring閱讀 241評(píng)論 0 0

友情鏈接更多精彩內(nèi)容