ecshop采集商品添加规则

<?php
header("Content-type:text/html;charset=utf-8");

function get($url)
{
global $curl;
// 配置curl中的http协议->可配置的荐可以查PHP手册中的curl_
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($curl, CURLOPT_HEADER, FALSE);
// 执行这个请求
return curl_exec($curl);
}

// 生成一个curl对象
$curl = curl_init();
$url='http://www.96net.com.cn/category.php?id='.$_GET["id"].'&page='.$_GET["page"];
$data=get($url);
//var_dump($data);
//$list_preg = '/<ul class="profl"><li>.+<\/li></ul>/Us';
//preg_match_all($list_preg,$data,$list);
//var_dump($list);

$userinfo = "Name: <b>PHP</b> <br> Title: <b>Programming Language</b>";
preg_match_all ("/<ul class=\"profl\">(.*)<\/ul>/Us", $data, $pat_array);
//print_r($pat_array[1][0]);

//$pattern="/<li><a title=\"(.*)\" target=\"_blank\" href=\"(.*)\">/iUs";//正则

preg_match_all ("/<img src=\"(.*)\" \/>/Us", $pat_array[1][0], $pat_array1); //图片路径

//var_dump($pat_array1);

preg_match_all ("/<span>市场零售价:¥(.*)元<\/span>/Us", $pat_array[1][0], $pat_array2); //价格
//var_dump($pat_array2);

preg_match_all ("/<a href=\"(.*)\" target=\"_blank\">+[\s\S]+<img src=\"(.*)\" \/>(.*)<br \/><span>(.*)<\/span>/iU", $pat_array[1][0], $pat_array3); //图片,标题,价格
//var_dump($pat_array3);

//foreach ($pat_array3[3] as $k => $v) {
//echo mb_substr($v, 7, -1, 'utf-8');
//}

foreach ($pat_array3[2] as $k => $v) {

// //获取空间头像图片
$url44 = "http://www.96net.com.cn/".$v;
$curl44 = curl_init($url44);
//$filename = date("Ymdhis").".jpg";
curl_setopt($curl44,CURLOPT_RETURNTRANSFER,1);
$imageData44 = curl_exec($curl44);
curl_close($curl44);
$aa44=dirname($v);
//echo $v;
//exit;
if(!file_exists($aa44)){
// @mkdir($aa);
mkdir($aa44,0777,true);
}
$tp44 = @fopen('./'.$v, 'a');
fwrite($tp44, $imageData44);
fclose($tp44);
//$path="./".$v;
//file_put_contents($path,$imageData);

}

foreach ($pat_array3[1] as $k => $v) {

// 生成一个curl对象
$curl15 = curl_init();
$url15='http://www.96net.com.cn/'.$v;
$data15=get($url15);
preg_match_all ("/<div class=\"prod_l\"><img src=\"(.*)\" style=\"widdth:400px;height:400px;\" \/><\/div>/Us", $data15, $pat_arrayyyy);

preg_match_all ("/<div class=\"prod_con_txt\">(.*)<\/div>/Us", $data15, $pat_arraxxx);

//preg_match_all ("/<p><img src=\"(.*)\" \/><\/p>/Us", $pat_arraxxx[1][0], $pat_arraxxx111);

preg_match_all ("/<p><img alt=\"\" src=\"(.*)\" \/><\/p>/Us", $pat_arraxxx[1][0], $pat_arraxxx111);

//var_dump($pat_arraxxx111);
//exit;

get1($pat_arrayyyy[1][0]);

get2($pat_arraxxx111[1]);

}

function get1($v){
// //获取空间头像图片
$url = "http://www.96net.com.cn/".$v;
$curl = curl_init($url);
//$filename = date("Ymdhis").".jpg";
curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);
$imageData = curl_exec($curl);
curl_close($curl);
$aa=dirname($v);
//echo $v;
//exit;
if(!file_exists($aa)){
// @mkdir($aa);
mkdir($aa,0777,true);
}
$tp = @fopen('./'.$v, 'a');
fwrite($tp, $imageData);
fclose($tp);
}

function get2($vvv){

//var_dump($vvv);
//exit;

foreach ($vvv as $k => $v) {
// //获取空间头像图片
$url = "http://www.96net.com.cn".$v;
$curl = curl_init($url);
//$filename = date("Ymdhis").".jpg";
curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);
curl_setopt($curl, CURLOPT_TIMEOUT,600);
$imageData = curl_exec($curl);
curl_close($curl);
$aa=dirname($v);
//echo $v;
//exit;

$tp = @fopen('./'.$v, 'a');
fwrite($tp, $imageData);
fclose($tp);

}

}

//var_dump($weburl);

//插入数据库
$conm = mysql_connect("qdm213439548.my3w.com","qdm213439548","mms123456");
mysql_query("set names utf8");
$select_db = mysql_select_db('qdm213439548_db');

if (!$select_db) {
die("could not connect to the db:\n" . mysql_error());
}

foreach($pat_array3[2] as $y=>$val){

// 生成一个curl对象
$curl2 = curl_init();
$url2='http://www.96net.com.cn/'.$pat_array3[1][$y];
$datattt=get($url2);
preg_match_all ("/<div class=\"prod_l\"><img src=\"(.*)\" style=\"widdth:400px;height:400px;\" \/><\/div>/Us", $datattt, $pat_arrayyyy);
preg_match_all ("/<div class=\"prod_con_txt\">(.*)<\/div>/Us", $datattt, $pat_arraxxx);

$bb=mb_substr($pat_array3[4][$y], 7, -1, 'utf-8');
$tt=time();
$sid=trim($_GET["id"]);
$goodname=trim($pat_array3[3][$y]);

$goods_thumb=$pat_array3[2][$y];
$goods_img=$pat_arrayyyy[1][0];
$goods_desc=$pat_arraxxx[1][0];

$sql="INSERT ecs_goods (cat_id, goods_name, market_price, goods_thumb, goods_img,goods_desc, is_real, is_on_sale, is_alone_sale, add_time, last_update)
VALUES (114,'$goodname',$bb,'$goods_thumb','$goods_img','$goods_desc',1,1,1,'$tt','$tt')";

mysql_query($sql);
}

//查询代码

//关闭数据库连接
mysql_close($conm);

php ecshop采集商品添加规则的更多相关文章

  1. ECSHOP后台商品列表显示商品缩略图

    ECSHOP后台商品列表显示商品缩略图 ECSHOP教程/ ecshop教程网(www.ecshop119.com) 2013-11-06   ecshop 后台商品列表显示商品缩略图,大楷步凑如下: ...

  2. 【PHP开源产品】Ecshop的商品筛选功能实现分析之一

    一.首先,说明一下为什么要对category.php文件进行分析. 原因如下: ①个人对商城类商品筛选功能的实现比较好奇: ②对商城中关于商品的数据表设计比较感兴趣.(该功能涉及到与数据库的交互,而且 ...

  3. ecshop后台增加|添加商店设置选项和使用方法详解

    有时候我们想在Ecshop后台做个设置.radio.checkbox 等等来控制页面的显示,看看Ecshop的设计,用到了shop_config这个商店设置功能 Ecshop后台增加|添加商店设置选项 ...

  4. Ecshop:后台添加新功能栏目以及管理权限设置

    一.添加菜单项 打开 /admin/includes/inc_menu.php文件(后台框架左边菜单),在最后添加一行如下: $modules['17_other_menu']['sns_list'] ...

  5. 判断ecshop未付款添加去付款按钮

    判断ecshop未付款添加去付款按钮,打开ecshop模板目录下user_transaction.dwt找到{$item.handler} 这个变量 给它下面添加以下代码 {if $item.pay_ ...

  6. php练习:给指定商品添加特殊效果

    老板说: 我只要在文本框填1|3 ,那第1和第3个商品都要标注! 思考过程: 有了重要信息1和3,而循环商品时$key按顺序自动递增,那么只要key和信息匹配的话,就判断商品添加标注,这个可以把位置信 ...

  7. JAVAEE——宜立方商城04:图片服务器FastDFS、富文本编辑器KindEditor、商品添加功能完成

    1. 学习计划 1.图片上传 a) 图片服务器FastDFS b) 图片上传功能实现 2.富文本编辑器的使用KindEditor 3.商品添加功能完成 2. 图片服务器的安装 1.存储空间可扩展. 2 ...

  8. PHP.TP框架下商品项目的优化4-优化商品添加表单js

    优化商品添加表单js 思路 1.制作五个按钮 2.下面五个table 3.全部隐藏,点击则显示 4.点击第几个按钮就显示第几个table 具体操作 1.添加按钮 2.添加五个table并添加class ...

  9. vue登录功能和将商品添加至购物车实现

     2.1: 学子商城--用户登录 用户登录商城用户操作行为,操作用户输入用户名和密码 点击登录按钮,一种情况登录成功 一种情况登录失败 "用户名或密码有误请检查" 2.2:如何实现 ...

随机推荐

  1. 1-基于Xilinx XCKU115的半高PCIe x8 硬件加速卡

    基于Xilinx XCKU115的半高PCIe x8 硬件加速卡 一.概述 本板卡系我公司自主研发,采用Xilinx公司的XCKU115-3-FLVF1924-E芯片作为主处理器,主要用于FPGA硬件 ...

  2. Linux架构之Nginx 配置文件

    第42章   nginx相关配置文件 1.Nginx主配置文件 路径 类型 作用 /etc/nginx/nginx.conf 配置文件 nginx主配置文件 /etc/nginx/conf.d/def ...

  3. Centos 7 环境下安装 RabbitMQ 3.6.10

    一.单机安装 在Centos7系统下部署(阿里云服务),使用yum安装 hostnamectl set-hostname rabbit01 #永久修改 1.1安装Erlang,因为RabbitMQ 是 ...

  4. BZOJ1135 LYZ(POI2009) Hall定理+线段树

    做这个题之前首先要了解判定二分图有没有完备匹配的Hall定理: 那么根据Hell定理,如果任何一个X子集都能连大于等于|S|的Y子集就可以获得完备匹配,那么就是: 题目变成只要不满足上面这个条件就能得 ...

  5. [NOI1999]生日蛋糕(搜索)

    [NOI1999]生日蛋糕 题目背景 7月17日是Mr.W的生日,ACM-THU为此要制作一个体积为Nπ的M层 生日蛋糕,每层都是一个圆柱体. 设从下往上数第i(1<=i<=M)层蛋糕是半 ...

  6. [POI2008]BLO(Tarjan)

    [POI2008]BLO Description Byteotia城市有\(n\)个 towns \(m\)条双向roads. 每条 road 连接 两个不同的 towns ,没有重复的road. 所 ...

  7. Less 混合(mixin)

    Less的混合:混合可以将一个定义好的class A轻松的引入到另一个class B中,从而简单实现class B继承class A中的所有属性.我们还可以带参数地调用,就像使用函数一样. .bord ...

  8. node.js从入门到放弃《模块》

    在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码就相对较少,很 ...

  9. LYXF-PE-tools

    先随便说一下这个PE-tools有什么用? 我开发这款PE-tools是为了学习而开发的,且是开源的,这里我会提供源码链接.它可以解析windows 32/64位程序中比较常用的一些属性. 里面有个稍 ...

  10. Counter的数据统计功能

    Counter是dict的子类,一般用于统计,默认排序是从大到小 from collections import Counter # 输入iterable对象即可 str_counter = Coun ...