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. Jenkins构建触发器(定时构建项目)

    如上图所示,Jenkins通常通过点击“立即构建”来进行手动构建项目,其实也可以使用配置中的 Poll SCM和Build periodically来进行定时自动构建项目: 在“配置”——>“构 ...

  2. CSS3 多列布局——Columns

    CSS3 多列布局——Columns 语法: columns:<column-width> || <column-count> 多列布局columns属性参数主要就两个属性参数 ...

  3. 插头$DP$学习小结

    插头\(DP\)学习小结 这种辣鸡毒瘤东西也能叫算法... 很优秀的一个算法. 最基本的适用范围主要是数据范围极小的网格图路径计数问题. 如果是像\(Noi2018\)那种的话建议考生在其他两道题难度 ...

  4. 对calc()的研究

    1.calc是英文单词calculate(计算)的缩写,是css3的一个新增的功能,用来指定元素的长度 calc()最大的好处就是用在流体布局上 2.calc()使用通用的数学运算规则 使用“+”.“ ...

  5. React / Vue 跨端渲染原理与实现探讨

    跨端渲染是渲染层并不局限在浏览器 DOM 和移动端的原生 UI 控件,连静态文件乃至虚拟现实等环境,都可以是你的渲染层.这并不只是个美好的愿景,在今天,除了 React 社区到 .docx / .pd ...

  6. linux下将一系列.o文件打包成.a文件

    参考链接:https://www.cnblogs.com/joshtao/p/7380627.html

  7. git怎样删除未监视的文件untracked files ?

    git怎样删除未监视的文件untracked files 需要添加到.gitignore文件 # 删除 untracked files git clean -f # 连 untracked 的目录也一 ...

  8. Angular:OnPush变化检测策略介绍

    在OnPush策略下,Angular不会运行变化检测(Change Detection ),除非组件的input接收到了新值.接收到新值的意思是,input的值或者引用发生了变化.这样听起来不好理解, ...

  9. java文件断点上传

    1,项目调研 因为需要研究下断点上传的问题.找了很久终于找到一个比较好的项目. 在GoogleCode上面,代码弄下来超级不方便,还是配置hosts才好,把代码重新上传到了github上面. http ...

  10. Curl命令、Elinks命令、lynx命令、Wget命令、lftp命令

    一.Curl命令 语法 curl(选项)(参数) 选项 -a/--append 上传文件时,附加到目标文件 -A/--user-agent <string> 设置用户代理发送给服务器 -a ...