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

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

来源:互联网 收集:自由互联 发布时间:2021-07-03
爬取豌豆荚游戏排行榜上的游戏信息,代码可以拷贝到神箭手云爬虫(http://www.shenjianshou.cn/)上直接跑。对爬虫感兴趣的可以加qq群讨论:342953471。 1. [代码] [JavaScript]代码 //使用javasc
爬取豌豆荚游戏排行榜上的游戏信息,代码可以拷贝到神箭手云爬虫(http://www.shenjianshou.cn/)上直接跑。对爬虫感兴趣的可以加qq群讨论:342953471。

1. [代码][JavaScript]代码    

//使用javascript编写的爬虫源码,用于爬取豌豆荚游戏排行榜(http://www.wandoujia.com/top/game)上的游戏信息。
//代码粘贴到神箭手云爬虫平台上就可以直接跑了,不需要安装编译环境。要爬取其他网站,
//可以更改源码即可。

//代码执行具体步骤请参考:
//https://github.com/ShenJianShou/crawler_samples/blob/master/%E5%A6%82%E4%BD%95%E6%89%A7%E8%A1%8C%E6%A0%B7%E4%BE%8B%E4%BB%A3%E7%A0%81.txt

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();
网友评论