写的第一个爬虫……

本文介绍了一种使用Node.js、PhantomJS、CasperJS等技术进行网页数据抓取的方法,包括构建产品链接库、抓取数据并存储到本地文件的过程。详细解释了如何解析网页内容,提取关键信息,并利用正则表达式、DOM操作等实现自动化数据收集。
var version="20150820";
var injectPoint="http://www.p2peye.com/hangqing/";
var fs = require("fs");




phantom.outputEncoding="GBK";
var casper = require('casper').create({
    viewportSize: {
        width: 1920,
        height: 1080
    },
    logLevel: "debug",
    pageSettings: {
        loadImages:  true,
        loadPlugins: false
    },
    clientScripts: ["jquery-1.9.1.js"]
});
casper.start();
var links=[],
    data=[];
casper.thenOpen(injectPoint,function(){
//获取页数
var pages=this.evaluate(get_pages);
casper.echo("页数:"+pages.length);
//pages=pages.slice(0,1);
 
//构建产品链接库
casper.then(function(){
casper.each(pages,fetch_links);  
});
casper.then(function(){
casper.echo("网址个数:"+links.length); 
});
 
//数据抓取
casper.then(function(){
var i=1;
casper.echo("\n抓取开始:……");
casper.each(links,function(self,link){
self.wait(100).thenOpen(link,function(){
       data.push(self.evaluate(data_capture));
casper.echo("第"+i+"条  "+link);
i++;
      }); 
})
});
//数据存储
casper.then(function(){
casper.echo("抓取成功:共"+data.length+"条");
casper.echo("\n开始存储:……");
fs.write("./product_data.json",
            JSON.stringify(data),
"w"
        );
casper.echo("存储成功!!!");
});

});


//数据抓取
function data_capture(){
var data_one={};
var data_con_title=$(".mod-l h1.title");
var baseinfo=$(".mod-l .baseinfo p");
var fees=$(".mod-l .fees p");

var product_name=$(".mod-l h1.title")[0].childNodes[0].data;
var product_platform=data_con_title.find("a").first().attr("title");
var money_amount=baseinfo.eq(0).children("b").text();
var money_date= baseinfo.eq(1).children("b").text()+baseinfo.eq(1)[0].childNodes[2].data;
var mark_type=baseinfo.eq(2).children("b").text();
var repayment_mode=baseinfo.eq(3).children("b").text();
var mark_award=baseinfo.eq(4).children("b").text();
var manage_cost=fees.eq(0).children("b").text();
var vip_mode=fees.eq(1).children("b").text();
var time_limit=fees.eq(2).children("b").text();
var security_mode=fees.eq(3).children("b").text();
var year_rate=$(".mod-l .rate_num")[0].childNodes[1].data;

data_one["product_name"]=product_name;
data_one["product_platform"]=product_platform;
data_one["money_amount"]=money_amount;
data_one["money_date"]=money_date;
data_one["mark_type"]=mark_type;
data_one["repayment_mode"]=repayment_mode;
data_one["mark_award"]=mark_award;
data_one["manage_cost"]=manage_cost;
data_one["vip_mode"]=vip_mode;
data_one["time_limit"]=time_limit;
data_one["security_mode"]=security_mode;
data_one["year_rate"]=year_rate;
return data_one;
}


//构建产品链接库
function fetch_links(self,link){
self.wait(100).thenOpen(link,function(){
links = links.concat(self.evaluate(get_produt_website));
});
}
//获取页数
 function get_pages(){
var total_page= $(".c-page a").eq(-2).text();
var pages=[];
for(var i=0;i<total_page;i++){
pages.push("http://www.p2peye.com/hangqing/frtsgp"+i+".html");
}
return pages;

//获取产品网址
function get_produt_website(){
var product_websites=$(".c-bid a");
var links =[];
    product_websites.map(function(){
links.push(this.href);
});
return links;
}
//抓取数据
function query_product_data(){
    var product_info=this.evaluate(function(){
        var data={};
    });
}
casper.run();
下载方式:https://pan.quark.cn/s/b4d8292ba69a 在构建食品品牌的市场整合营销推广方案时,我们必须首先深入探究品牌的由来、顾客的感知以及市场环境。 此案例聚焦于一款名为“某饼干产品”的食品,该产品自1998年进入河南市场以来,经历了销售业绩的波动。 1999至2000年期间,其销售额取得了明显的上升,然而到了2001年则出现了下滑。 在先前的宣传活动中,品牌主要借助大型互动活动如ROAD SHOW来吸引顾客,但收效甚微,这揭示了宣传信息与顾客实际认同感之间的偏差。 通过市场环境剖析,我们了解到消费者对“3+2”苏打夹心饼干的印象是美味、时尚且充满活力,但同时亦存在口感腻、价位偏高、饼身坚硬等负面评价。 实际上,该产品可以塑造为兼具美味、深度与创新性的休闲食品,适宜在多种情境下分享。 这暗示着品牌需更精确地传递产品特性,同时消解消费者的顾虑。 在策略制定上,我们可考虑将新产品与原有的3+2苏打夹心进行协同推广。 这种策略的长处在于能够借助既有产品的声誉和市场占有率,同时通过新产品的加入,刷新品牌形象,吸引更多元化的消费群体。 然而,这也可能引发一些难题,例如如何合理分配新旧产品间的资源,以及如何保障新产品的独特性和吸引力不被既有产品所掩盖。 为了提升推广成效,品牌可以实施以下举措:1. **定位修正**:基于消费者反馈,重新确立产品定位,突出其美味、创新与共享的特性,减少消费者感知的缺陷。 2. **创新宣传**:宣传信息应与消费者的实际体验相契合,运用更具魅力的创意手段,例如叙事式营销,让消费者体会到产品带来的愉悦和情感共鸣。 3. **渠道选择**:在目标消费者常去的场所开展活动,例如商业中心、影院或在线平台,以提高知名度和参与度。 4. **媒体联...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值