当前位置 : 主页 > 网络编程 > JavaScript >

爬取豌豆荚游戏排行榜的爬虫源码

来源:互联网 收集:自由互联 发布时间:2021-07-03
看到有人问豌豆荚游戏榜单的爬虫如何写,这里特别贴一下完整的代码。 这里只爬了豌豆荚应用的名称,下载量和图标地址,有其他需求的朋友可以自己写xpath进行提取。 运行方法:复
看到有人问豌豆荚游戏榜单的爬虫如何写,这里特别贴一下完整的代码。
这里只爬了豌豆荚应用的名称,下载量和图标地址,有其他需求的朋友可以自己写xpath进行提取。
运行方法:复制代码到神箭手云爬虫平台上运行即可。

1. [代码][JavaScript]代码    

var configs = {  
    domains: ["apps.wandoujia.com"],  
    scanUrls: ["http://apps.wandoujia.com/api/v1/apps?type=weeklytopgame&max=12&start=0"],  
    contentUrlRegexes: ["http://www\\.wandoujia\\.com/apps/.*"],  
    helperUrlRegexes: ["http://apps\\.wandoujia\\.com/api/v1/apps\\?type=weeklytopgame&max=12&start=\\d+"],//可留空  
    fields: [  
        {  
            // 第一个抽取项  
            name: "title",  
            selector: "//span[contains(@class,'title')]",  
            required: true //是否不能为空  
        },  
        {  
            // 第二个抽取项  
            name: "download",  
            selector: "//i[@itemprop='interactionCount']",  
            required: false //是否不能为空  
        },  
        {  
            //第三个抽取项  
            name:"thumb",  
            selector:"//div[contains(@class,'app-icon')]/img[@itemprop='image']/@src",  
        }  
          
    ]  
};  
configs.onProcessHelperUrl = function(url, content, site) {  
    var jarr = JSON.parse(content);  
    //发现内容页  
    for (var i = 0, n = jarr.length; i < n; i++) {  
        var new_url = "http://www.wandoujia.com/apps/"+jarr[i].packageName;  
        site.addUrl(new_url);  
    }  
    var currentStart = parseInt(url.substring(url.indexOf("&start=") + 7));  
    var start = currentStart+12;  
    if(start < 100){  
        site.addUrl("http://apps.wandoujia.com/api/v1/apps?type=weeklytopgame&max=12&start="+start);  
    }  
    return true;  
}  
var crawler = new Crawler(configs);  
crawler.start(); 
网友评论