码迷,mamicode.com
首页 > 其他好文 > 详细

尚妆网爬虫源码

时间:2016-06-08 15:17:09      阅读:151      评论:0      收藏:0      [点我收藏+]

标签:

使用javascript编写的爬虫源码,用于爬取尚妆网上的商品信息。

代码粘贴到神箭手云爬虫平台(http://www.shenjianshou.cn/)上就可以直接跑了,

不需要安装编译环境。要爬取其他网站,可以更改源码即可。

 

代码执行具体步骤点这里

代码详细讲解点这里

更多源码下载点这里

 

var configs = {
    domains: ["www.showjoy.com","list.showjoy.com","item.showjoy.com"],
    scanUrls: ["http://list.showjoy.com/search/?q=cateIds%3A1,cateName%3A%E9%9D%A2%E8%86%9C"],
    contentUrlRegexes: ["http://item\\.showjoy\\.com/sku/\\d+\\.html"],
    helperUrlRegexes: ["http://list\\.showjoy\\.com/search/\\?q=cateIds%3A1,cateName%3A%E9%9D%A2%E8%86%9C(\\&page=\\d+)?"], 
    fields: [
        {
            // 第一个抽取项
            name: "title",
            selector: "//h3[contains(@class,‘choose-hd‘)]",
            required: true 
        },
        {
            // 第二个抽取项
            name: "comment",
            selector: "//div[contains(@class,‘dtabs-hd‘)]/ul/li[2]", 
            required: false 
        },
        {
            // 第三个抽取项
            name: "sales",
            selector: "//div[contains(@class,‘dtabs-hd‘)]/ul/li[3]", 
            required: false 
        },
        {
            name: "skuid",
            selector: "//input[@id=‘J_UItemId‘]/@value",
        },
        {
            name: "price",
            sourceType: SourceType.AttachedUrl,
            attachedUrl: "http://item.showjoy.com/product/getPrice?skuId={skuid}",
            selectorType: SelectorType.JsonPath,
            selector: "$.data.price",
            
        }
    ]
};

configs.onProcessHelperUrl = function(url, content, site){
    if(!content.indexOf("无匹配商品")){
        //如果没有到最后一页,则将页数加1
        var currentPage = parseInt(url.substring(url.indexOf("&page=") + 6));
        var page = currentPage + 1;
        var nextUrl = url.replace("&page=" + currentPage, "&page=" + page);
        site.addUrl(nextUrl);
    }
    return true;
}
configs.afterExtractField = function(fieldName, data){
    if(fieldName == "comment" || fieldName == "sales"){
        var regex = /.*((\d+)).*/;
        return (data.match(regex))[1];
    }
    return data;
}
var crawler = new Crawler(configs);
crawler.start();

 

尚妆网爬虫源码

标签:

原文地址:http://www.cnblogs.com/datafactory/p/5569807.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!