php ecshop采集商品添加规则
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采集商品添加规则的更多相关文章
- ECSHOP后台商品列表显示商品缩略图
ECSHOP后台商品列表显示商品缩略图 ECSHOP教程/ ecshop教程网(www.ecshop119.com) 2013-11-06 ecshop 后台商品列表显示商品缩略图,大楷步凑如下: ...
- 【PHP开源产品】Ecshop的商品筛选功能实现分析之一
一.首先,说明一下为什么要对category.php文件进行分析. 原因如下: ①个人对商城类商品筛选功能的实现比较好奇: ②对商城中关于商品的数据表设计比较感兴趣.(该功能涉及到与数据库的交互,而且 ...
- ecshop后台增加|添加商店设置选项和使用方法详解
有时候我们想在Ecshop后台做个设置.radio.checkbox 等等来控制页面的显示,看看Ecshop的设计,用到了shop_config这个商店设置功能 Ecshop后台增加|添加商店设置选项 ...
- Ecshop:后台添加新功能栏目以及管理权限设置
一.添加菜单项 打开 /admin/includes/inc_menu.php文件(后台框架左边菜单),在最后添加一行如下: $modules['17_other_menu']['sns_list'] ...
- 判断ecshop未付款添加去付款按钮
判断ecshop未付款添加去付款按钮,打开ecshop模板目录下user_transaction.dwt找到{$item.handler} 这个变量 给它下面添加以下代码 {if $item.pay_ ...
- php练习:给指定商品添加特殊效果
老板说: 我只要在文本框填1|3 ,那第1和第3个商品都要标注! 思考过程: 有了重要信息1和3,而循环商品时$key按顺序自动递增,那么只要key和信息匹配的话,就判断商品添加标注,这个可以把位置信 ...
- JAVAEE——宜立方商城04:图片服务器FastDFS、富文本编辑器KindEditor、商品添加功能完成
1. 学习计划 1.图片上传 a) 图片服务器FastDFS b) 图片上传功能实现 2.富文本编辑器的使用KindEditor 3.商品添加功能完成 2. 图片服务器的安装 1.存储空间可扩展. 2 ...
- PHP.TP框架下商品项目的优化4-优化商品添加表单js
优化商品添加表单js 思路 1.制作五个按钮 2.下面五个table 3.全部隐藏,点击则显示 4.点击第几个按钮就显示第几个table 具体操作 1.添加按钮 2.添加五个table并添加class ...
- vue登录功能和将商品添加至购物车实现
2.1: 学子商城--用户登录 用户登录商城用户操作行为,操作用户输入用户名和密码 点击登录按钮,一种情况登录成功 一种情况登录失败 "用户名或密码有误请检查" 2.2:如何实现 ...
随机推荐
- MYSQL学习笔记——数据类型
mysql的数据类型可以分为三大类,分别是数值数据类型.字符串数据类型以及日期时间数据类型. 数值数据类型 ...
- Java虚拟机——类加载机制
转自:http://blog.csdn.net/ns_code/article/details/17881581 类加载过程 类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载 ...
- Git命令——撤销修改
Git命令 1. 撤销修改 (1) 当改乱了工作区(working directory)某个文件的内容,想直接丢弃工作区中的修改时,用命令git checkout -- file. (2) 当不但改乱 ...
- git如何上传大文件,突破大小限制
Github中单个文件的大小限制是100MB,为了能突破这个限制,我们需要使用Git Large File Storage这个工具, git lfs install git lfs track &qu ...
- mysql 通过navicat 添加函数或者过程
1. 添加函数时, 函数参数的 varchar(255) 一定要加上 255,返回也要加.不加一直保存不了,狂试: 2. 添加过程时, 进入课程体 编辑时 也要加上 varchar 的位数限制.不 ...
- 【串线篇】spring boot日志框架
一.日志框架 小张:开发一个大型系统: 1.System.out.println(""):将关键数据打印在控制台:去掉?写在一个文件? 2.框架来记录系统的一些运行时信息:日志框架 ...
- 一篇文章理解JS数据类型、深拷贝和浅拷贝
前言 笔者最近整理了一些前端技术文章,如果有兴趣可以参考这里:muwoo blogs.接下来我们进入正片: js 数据类型 六种 基本数据类型: Boolean. 布尔值,true 和 false. ...
- ATM机取款过程
假设一个简单的ATM机的取款过程是这样的:首先提示用户输入密码,最多只能输入三次,超过3次则提示用户“密码错误,请取卡”结束交易.如果用户密码正确,再提示用户输入取款金额,ATM机只能输出100元的纸 ...
- ORM多表操作上
一.创建模型 例:我们来假定下面这些概念,字段和关系 作者模型:一个作者有姓名和年龄. 作者详细模型:把作者的详情放到详情表,包含生日,手机号,家庭住址等信息.作者详情模型和作者模型之间是一对一(on ...
- 奇异值分解(SVD)(基础知识)
参考:https://www.cnblogs.com/pinard/p/6251584.html 参考:http://blog.csdn.net/u010099080/article/details/ ...