美文网首页码农的世界
淘宝客高佣金商品采集爬虫开发教程-采集商品名称、月销、价格、佣金

淘宝客高佣金商品采集爬虫开发教程-采集商品名称、月销、价格、佣金

作者: 98405539a93c | 来源:发表于2018-02-27 11:04 被阅读159次

    本文主要介绍在神箭手上开发“淘宝客高佣金商品采集爬虫”的过程,爬虫主要实现批量爬取淘宝客高佣金商品数据的功能,爬取字段包括商品名称、月销、价格和佣金等字段。

    淘宝客是一种按成交计费的推广模式,淘宝客只要从淘宝客推广专区获取商品代码,任何买家(包括你自己)经过你的推广(链接、个人网站,博客或者社区发的帖子)进入淘宝卖家店铺完成购买后,就可得到由卖家支付的佣金。所以,高佣金的商品对于淘宝客用户来说是非常有用的,在各个渠道推广这些商品都可以获得不错的收益。

    采集网站URLhttp://pub.alimama.com/promo/item/channel/index.htm?channel=qqhd

    使用功能点

    · afterDownloadPageonProcessScanPageafterExtractField回调函数

    下面,给你详细说明“淘宝客高佣金商品采集爬虫”在神箭手上的开发过程

    步骤1  创建爬虫

    注册并登录神箭手,进入神箭手控制台。

    点击“新建应用”,选择“爬虫”,点击“下一步”。

    输入爬虫名称“淘宝客高佣金商品采集爬虫”,选择“编辑模式”,点击“创建”,神箭手爬虫创建成功。

    步骤2  分析网页&开发爬虫

    本文使用Chrome浏览器分析淘宝客高佣金商品网页,按“F12”打开浏览器“开发者工具”。

    在浏览器“开发者工具”中勾选“Preserve log”,按“F5”刷新网页,高佣金商品列表数据便会重新加载进来。

    在浏览器“开发者工具”中选择“XHR”,搜索“qqhd.json”,便可找到存放商品信息的URL。

    分析请求该URL返回的JSON数据,结合“神箭手开发文档”,在神箭手爬虫编辑页开发爬虫代码。

    步骤3  测试并运行爬虫

    爬虫开发完成后,点击“测试”按钮,检查爬虫的爬取结果是否正确。

    测试通过后,进入“爬虫设置”页,设置“代理IP”、“文件云托管”等服务,点击“保存”。

    返回爬虫总览页,点击“启动爬虫”,稍等片刻,爬虫就会爬到数据了。如果嫌弃爬虫的爬取速度,建议在神箭手后台给爬虫增加节点,或者优化爬虫代码。

    步骤4  数据发布与导出

    爬虫爬到数据后,可以选择将数据“发布到网站或数据库”中,点此查看神箭手数据发布详细教程。

    此外,还可选择将数据“导出”,点此查看神箭手数据导出详细教程。

    神箭手上开发的“淘宝客高佣金商品采集爬虫”导出数据示例,如下图所示:

    “淘宝客高佣金商品采集爬虫”完整示例代码

    /**

        淘宝客高佣金商品采集爬虫源码

        爬虫最多可采集100页淘宝客高佣金商品信息

        建议给爬虫配置神箭手代理IP,可有效解决淘宝客反爬问题

        对于爬虫代码有不懂的地方,请参考神箭手开发文档(http://docs.shenjian.io/develop/crawler/quick-start.html)

    **/

    var configs = {

        domains: ["pub.alimama.com"],

        scanUrls: ["http://pub.alimama.com/promo/item/channel/index.htm?channel=qqhd"],

        contentUrlRegexes: [

            /http[\w:\/]+pub\.alimama\.com\/items\/channel\/qqhd\.json\?.*/

        ],

        helperUrlRegexes: [""],

        autoFindUrls: false,

        fields: [

            {

                name: "infos",

                selectorType: SelectorType.JsonPath,

                selector: "$.data.pageList",

                repeated: true,

                children: [

                    {

                        name: "id",

                        alias: "商品ID",

                        selectorType: SelectorType.JsonPath,

                        selector: "$.auctionId",

                        required: true,

                        primaryKey: true

                    },

                    {

                        name: "name",

                        alias: "商品名称",

                        selectorType: SelectorType.JsonPath,

                        selector: "$.title"

                    },

                    {

                        name: "image",

                        alias: "商品图片",

                        selectorType: SelectorType.JsonPath,

                        selector: "$.pictUrl"

                    },

                    {

                        name: "price",

                        alias: "商品价格",

                        selectorType: SelectorType.JsonPath,

                        selector: "$.zkPrice"

                    },

                    {

                        name: "monthly_sales",

                        alias: "月销量",

                        selectorType: SelectorType.JsonPath,

                        selector: "$.biz30day"

                    },

                    {

                        name: "commision",

                        alias: "商品佣金",

                        selectorType: SelectorType.JsonPath,

                        selector: "$.tkCommFee"

                    },

                    {

                        name: "commision_rate",

                        alias: "佣金比率",

                        selectorType: SelectorType.JsonPath,

                        selector: "$.eventRate"

                    },

                    {

                        name: "day_left",

                        alias: "剩余活动天数",

                        selectorType: SelectorType.JsonPath,

                        selector: "$.dayLeft"

                    },

                    {

                        name: "url",

                        alias: "商品链接",

                        selectorType: SelectorType.JsonPath,

                        selector: "$.auctionUrl"

                    },

                    {

                        name: "shop_name",

                        alias: "店铺名称",

                        selectorType: SelectorType.JsonPath,

                        selector: "$.shopTitle"

                    }

                ]

            }

        ]

    };

    configs.afterDownloadPage = function (page, site) {

        msleep(10000);

        return page;

    };

    configs.onProcessScanPage = function(page, content, site) {

        for (var i = 1; i <= 100; i++) {

            var url = "http://pub.alimama.com/items/channel/qqhd.json?channel=qqhd&toPage=" + i + "&perPageSize=50";

            site.addUrl(url);

        }

        return false;

    };

    configs.afterExtractField = function(fieldName, data, page, site) {

        if (!data) {

            return data;

        }

        if (fieldName == "infos.image") {

            return "https:" + data;

        }

        else if (fieldName == "infos.commision_rate") {

            return data + "%";

        }

        return data;

    };

    var crawler = new Crawler(configs);

    crawler.start();

    相关文章

      网友评论

        本文标题:淘宝客高佣金商品采集爬虫开发教程-采集商品名称、月销、价格、佣金

        本文链接:https://www.haomeiwen.com/subject/mcupxftx.html