美文网首页
爬虫多页面抓取亚马逊产品信息

爬虫多页面抓取亚马逊产品信息

作者: 王伯卿 | 来源:发表于2018-03-27 22:59 被阅读0次

其实这篇是失败的一篇,因为在抓取的过程中,亚马逊总会返回几个空的内容给我,导致无法还原完整的内容,因此这篇权作记录,

const http=require('https');
const fs=require('fs');
const cheerio=require('cheerio');
const request=require('request');

var url='https://www.amazon.com/Best-Sellers-Sports-Outdoors/zgbs/sporting-goods/ref=zg_bs_pg_2?_encoding=UTF8&pg=1';
var prefix='https://www.amazon.com';
http.get(url,function(res){

    var html='';
    res.setEncoding('utf-8');

    res.on('data',function(chunk){
        html+=chunk;
    });

    res.on('end',function(){
        var $=cheerio.load(html);
        var groups=$('.zg_itemImmersion');
        groups.each(function(item){
            var group=$(this);
            var link=group.find('.a-link-normal').attr('href');
            var linkContent_1=prefix+link+'\n';
            var linkContent=prefix+link;
            fs.appendFile('pathUrl.txt',linkContent_1,function(err){
                if(err){
                    console.log(err);
                }
            });         
            getSubContent(linkContent);
        })
    });

});

function getSubContent(urlSub){
    http.get(urlSub,function(res){
        var subHtml='';
        res.setEncoding('utf-8');
        res.on('data',function(subChunk){
            subHtml+=subChunk;
        });
        res.on('end',function(){
            var $=cheerio.load(subHtml);
            var subGroup=$('.content');
                var rank=subGroup.find('#SalesRank').text().replace(/[\r\n]/g,"");
                var zg_hrsr_rank=subGroup.find('.zg_hrsr_rank').text().trim().replace(/[\r\n]/g,"");
                var zg_hrsr_ladder=subGroup.find('.zg_hrsr_ladder').text().trim().replace(/[\r\n]/g,"");
                var rankContent='△'+rank+zg_hrsr_rank+zg_hrsr_ladder+'\n';
                fs.appendFile('input.txt',rankContent,function(err){
                    if(err){
                        console.log(err);
                    }
                });
        });
    });
}

另外试着用了readline模块从文件中一行一行的读取url

const readline = require('readline');
const fs = require('fs');
const cheerio=require('cheerio');
const http=require('https');

    var url='https://www.amazon.com/LifeStraw-LSPHF017-Personal-Emergency-Preparedness/dp/B006QF3TW4/ref=zg_bs_sporting-goods_8/146-4419491-9931667?_encoding=UTF8&psc=1&refRID=S3S2QJNQRHHF69ZY41WQ';
    var asin=url.split('/')[5];

    getRankContent(url);

    function getRankContent(url){
    var asin=url.split('/')[5];
    http.get(url,function(res){
        var html='';
        res.on('data',function(chunk){
            html+=chunk;
        })
        res.on('end',function(){
            fs.appendFile('input.txt',html,function(err){
                if(err){
                    console.log(err);
                }
            }); 
            var $=cheerio.load(html);
            var group=$('.content');
            var rank=group.find('#SalesRank').text().replace(/[\r\n]/g,"");
            var zg_hrsr_rank=group.find('.zg_hrsr_rank').text().trim().replace(/[\r\n]/g,"");
            var zg_hrsr_ladder=group.find('.zg_hrsr_ladder').text().trim().replace(/[\r\n]/g,"");
            var rankContent=rank+zg_hrsr_rank+zg_hrsr_ladder;
            console.log(typeof rankContent);
            console.log(rankContent);
        });
    });
}

如果需要取得亚马逊的数据,似乎需要amazon API的调用,最近将会研究这个,以保证最大程度的取得亚马逊的数据,为选品与工作效率的提升作基础性的作用。

相关文章

  • 爬虫多页面抓取亚马逊产品信息

    其实这篇是失败的一篇,因为在抓取的过程中,亚马逊总会返回几个空的内容给我,导致无法还原完整的内容,因此这篇权作记录...

  • Python 爬虫协议及建议

    爬虫协议 什么是爬虫协议:爬虫协议,也被叫做robots协议,是为了告诉网络蜘蛛哪些页面可以抓取,哪些页面不能抓取...

  • Python3爬虫环境配置——请求库安装(附Firefox和Ch

    Python3爬虫环境配置——请求库安装 一、常用库 爬虫主要分为三步:抓取页面、分析页面以及存储数据。抓取页面是...

  • 网络爬虫(四)

    爬虫大约分三种: 通用爬虫: 获取相关页面整页数据。 聚焦爬虫:根据所需抓取页面指定的数据。 增量爬虫:检测到网页...

  • Robots协议

    Robots Exclusion Standard 网络爬虫排除标准 作用:网站告知网络爬虫哪些页面可以抓取,哪些...

  • Robots协议

    1 Robots Exclusion Standard 网络爬虫排除标准 作用: 网站告知网络爬虫哪些页面可以抓取...

  • robots简介,搜索引擎命令site,intitle,inur

    Robots协议(爬虫协议、机器人协议等)网站通过Robots协议告诉蜘蛛哪些页面可以抓取,哪些页面不能抓取。 R...

  • pyspider

    pyspider是一个爬虫架构的开源化实现 主要的功能需求是: 抓取、更新调度多站点的特定的页面 需要对页面进行结...

  • 爬虫抓取电商产品信息

    网站功能需要,要求抓取各大电商产品信息,尤其是产品价格信息 curl+phpQuery抓取静态网页中信息 最开始认...

  • 爬虫-python-scrapy框架基本命令

    爬虫-python-scrapy框架基本命令 创建一个项目 抓取页面 网页抓取shell XPath(选择器节点)...

网友评论

      本文标题:爬虫多页面抓取亚马逊产品信息

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