[ 路丁前言 ] 近期在开发设计一套淘客系统,在处理各种各样的难题,造成 沒有空发表文章,看过许多 盆友都问这一数据信息怎样导到数据库查询里边,那麼今日我也以同歩大淘客的数据信息做为事例,解读一下怎样把数据库同步到本地数据库中。
假如一件事这一课程内容很感兴趣得话,能够定阅我的今日头条号:一点热,也热烈欢迎大伙儿在正下方的论坛探讨。
即然是以大淘客的数据信息为事例,那麼大家必须的便是大淘客的appkey,实际申请办理详细地址能够到这儿查询
http://www.dataoke.com/ucenter/appkey_apply.asp
那麼大家就刚开始我们要同歩的数据信息了,因为我刚开始设计方案的数据库查询的字段名和大淘客回到的数据信息的字段名有一些不一样,那麼大家必须对大家的数据库查询开展更新改造,更新改造后的数据库语句以下
DROP TABLE IF EXISTS `yeehot_taobaoke_product`;
CREATE TABLE `yeehot_taobaoke_product` (
`shopid` varchar(255) CHARACTER SET utf8 NOT NULL,
`name` varchar(255) CHARACTER SET utf8 NOT NULL,
`image` varchar(255) CHARACTER SET utf8 NOT NULL,
`detail` varchar(255) CHARACTER SET utf8 NOT NULL,
`type` varchar(255) CHARACTER SET utf8 NOT NULL,
`tbk_link` varchar(255) CHARACTER SET utf8 NOT NULL,
`price` varchar(255) CHARACTER SET utf8 NOT NULL,
`product_sale_count` varchar(255) CHARACTER SET utf8 NOT NULL,
`product_rate` varchar(255) CHARACTER SET utf8 NOT NULL,
`product_earn` varchar(255) CHARACTER SET utf8 NOT NULL,
`wangwang_name` varchar(255) CHARACTER SET utf8 NOT NULL,
`saler_id` varchar(255) CHARACTER SET utf8 NOT NULL,
`shop_name` varchar(255) CHARACTER SET utf8 NOT NULL,
`product_from` varchar(255) CHARACTER SET utf8 NOT NULL,
`card_id` varchar(255) CHARACTER SET utf8 NOT NULL,
`card_num` varchar(255) CHARACTER SET utf8 NOT NULL,
`card_own` varchar(255) CHARACTER SET utf8 NOT NULL,
`card_money` varchar(255) CHARACTER SET utf8 NOT NULL,
`card_begin` varchar(255) CHARACTER SET utf8 NOT NULL,
`card_end` varchar(255) CHARACTER SET utf8 NOT NULL,
`card_link` varchar(255) CHARACTER SET utf8 NOT NULL,
`card_share` varchar(255) CHARACTER SET utf8 NOT NULL,
`short_title` varchar(255) DEFAULT NULL,
`cid` varchar(255) DEFAULT NULL,
`quan_price` varchar(255) DEFAULT NULL,
`dsr` varchar(255) DEFAULT NULL,
`Commission_jihua` varchar(255) DEFAULT NULL,
`Commission_queqiao` varchar(255) DEFAULT NULL,
`Jihua_link` varchar(255) DEFAULT NULL,
`Jihua_shenhe` varchar(255) DEFAULT NULL,
`Introduce` varchar(255) DEFAULT NULL,
`Quan_m_link` varchar(255) DEFAULT NULL,
`Quan_link` varchar(255) DEFAULT NULL,
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`Quan_condition` varchar(255) NOT NULL,
`after_price` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=gbk;
SET FOREIGN_KEY_CHECKS = 1;
留意:假如这儿不清楚怎么操作升级得话,能够再次导进daogou.sql
应用PHP必须浏览数据信息,一般全是应用curl涵数来完成的,简易的好多个流程就可以开展get实际操作了,编码以下:
function getinfo($url) {
$ch = curl_init();
//设定选择项,包含URL
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
//实行并获得HTML文本文档內容
$output = curl_exec($ch);
//释放出来curl句柄
curl_close($ch);
return $output;
}
拥有这一互联网浏览连接,那麼大家就可以开展数据的采集。
比照大淘客的整站领优惠券产品API插口
http://api.dataoke.com/index.php?r=Port/index&type=total&appkey="你的APPKEY"&v=2&page="当页数"
基础便是2个主要参数,一个是不久大家说到的KEY,还有一个页码。
掌握这一插口后,大家就可以开发设计收集的作用了
收集这儿,基础便是分析大淘客的数据信息,随后查寻一下数据库查询是不是有这一产品,假如存有得话,大家就升级它,假如不会有,大家就插进这一数据信息。实际编码以下:
function SysInfo($page) {
$caijiurl ="http://api.dataoke.com/index.php?r=Port/index&type=total&appkey=". tk_key ."&v=2&page=". $page;
$url = $caijiurl;
$info = getinfo($url);
$info = preg_replace('/\s/','', $info);
$info = str_replace('','', $info);
$resultinfo = json_decode($info, TRUE);
$totolnum = $resultinfo['data']['to
tal_num'];
$page_all = $totolnum / 200 1;
$pnum = count($resultinfo['result']);
echo"已经同歩第".$page."页...<br/>"."总页码:".$page_all."<br/>";
echo"请稍等,同歩必须時间,假如长期初始化失败,回到连接数据库查询请求超时,请将主要参数的page的数据记下来再同歩";
$nd = array();
for ($i = 0; $i < $pnum; $i ) {
$info = $resultinfo['result'][$i];
$nd[$i]['name'] = $info['D_title'];
$nd[$i]['shopid'] = $info['GoodsID'];
$nd[$i]['image'] = $info['Pic'];
$nd[$i]['detail'] = $info['GoodsID'];
$nd[$i]['short_title'] = $info['D_title'];
$nd[$i]['cid'] = $info['Cid'];
$nd[$i]['Quan_link'] = $info['Quan_link'];
$nd[$i]['Quan_m_link'] = $info['Quan_m_link'];
$nd[$i]['Introduce'] = $info['Introduce'];
$nd[$i]['Jihua_shenhe'] = $info['Jihua_shenhe'];
$nd[$i]['Jihua_link'] = $info['Jihua_link'];
$nd[$i]['Commission_queqiao'] = $info['Commission_queqiao'];
$nd[$i]['Commission_jihua'] = $info['Commission_jihua'];
$nd[$i]['dsr'] = $info['Dsr'];
$nd[$i]['quan_price'] = $info['Quan_price'];
$nd[$i]['card_share'] = $info['Quan_m_link'];
$nd[$i]['card_link'] = $info['Quan_link'];
$nd[$i]['card_begin'] = $info['Quan_time'];
$nd[$i]['card_end'] = $info['Quan_time'];
$nd[$i]['card_money'] = $info['Quan_price'];
$nd[$i]['card_own'] = $info['Quan_surplus'];
//$nd[$i]['card_num'] = $info['card_num'];
$nd[$i]['card_id'] = $info['Quan_id'];
$nd[$i]['Quan_condition'] = $info['Quan_condition'];
$nd[$i]['product_from'] = $info['IsTmall'] == 1 ?"天猫商城":"淘宝网";
$nd[$i]['saler_id'] = $info['SellerID'];
$nd[$i]['product_sale_count'] = $info['Sales_num'];
$nd[$i]['price'] = $info['Org_Price'];
$nd[$i]['after_price'] = $info['Price'];
$nd[$i]['product_rate'] = $info['Commission_jihua'];
$values ="'". implode("','", array_values($nd[$i])) ."'";
$keys ="`". implode("`,`", array_keys($nd[$i])) ."`";
$shopid_1 = $nd[$i]['shopid'];
$query = mysql_query("select * from yeehot_taobaoke_product where shopid='$shopid_1'");
//var_dump("select * from yeehot_taobaoke_product where shopid='".$shopid_1."'");
$num = mysql_num_rows($query);
//var_dump($num);
if ($num > 0) {
$sql ='update `yeehot_taobaoke_product` set ';
for ($m = 0; $m < count(array_keys($nd[$i])); $m ) {
if($m== (count(array_keys($nd[$i]))-1)){
$sql.=array_keys($nd[$i])[$m]."= '".array_values($nd[$i])[$m]."'";
}
else{
$sql.=array_keys($nd[$i])[$m]."= '".array_values($nd[$i])[$m]."', ";
}
}
$sql.=" where shopid =".$shopid_1;
} else {
$sql ='insert into `yeehot_taobaoke_product` ';
$sql .='('. $keys .') ';
$sql .='values ';
$sql .='('. $values .') ';
}
//var_dump($sql);
mysql_query($sql);
}
return $page_all;
}
最好是,大家必须启用这一数据信息,这儿,我觉得启用第一页,随后在依据第一页回到总的页码。随后根据循环系统升级页码
$page_all=SysInfo(1);
for ($j=1; $j <$page_all ; $j ) {
SysInfo($j);
sleep(5);
}
echo"<
br/>同歩进行";
那样,大家的同歩产品优惠劵的网页页面就开发设计结束了
因为我把全新的作用放上网址供大伙儿检测了,另外还可以关注我的微信公众号,能够登陆一个网站http://www.yeehot.com/右侧有微信二维码。因为我把宝贝详情的网页页面编码放进去,大伙儿能够在网站源码下载寻找这一编码免费下载
热烈欢迎再次关注我的今日头条号:一点热,假如有哪些难题,热烈欢迎留言板留言资询,我看到以后会第一时间回应大伙儿的。
评论