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:如何实现 ...
随机推荐
- Jenkins构建触发器(定时构建项目)
如上图所示,Jenkins通常通过点击“立即构建”来进行手动构建项目,其实也可以使用配置中的 Poll SCM和Build periodically来进行定时自动构建项目: 在“配置”——>“构 ...
- CSS3 多列布局——Columns
CSS3 多列布局——Columns 语法: columns:<column-width> || <column-count> 多列布局columns属性参数主要就两个属性参数 ...
- 插头$DP$学习小结
插头\(DP\)学习小结 这种辣鸡毒瘤东西也能叫算法... 很优秀的一个算法. 最基本的适用范围主要是数据范围极小的网格图路径计数问题. 如果是像\(Noi2018\)那种的话建议考生在其他两道题难度 ...
- 对calc()的研究
1.calc是英文单词calculate(计算)的缩写,是css3的一个新增的功能,用来指定元素的长度 calc()最大的好处就是用在流体布局上 2.calc()使用通用的数学运算规则 使用“+”.“ ...
- React / Vue 跨端渲染原理与实现探讨
跨端渲染是渲染层并不局限在浏览器 DOM 和移动端的原生 UI 控件,连静态文件乃至虚拟现实等环境,都可以是你的渲染层.这并不只是个美好的愿景,在今天,除了 React 社区到 .docx / .pd ...
- linux下将一系列.o文件打包成.a文件
参考链接:https://www.cnblogs.com/joshtao/p/7380627.html
- git怎样删除未监视的文件untracked files ?
git怎样删除未监视的文件untracked files 需要添加到.gitignore文件 # 删除 untracked files git clean -f # 连 untracked 的目录也一 ...
- Angular:OnPush变化检测策略介绍
在OnPush策略下,Angular不会运行变化检测(Change Detection ),除非组件的input接收到了新值.接收到新值的意思是,input的值或者引用发生了变化.这样听起来不好理解, ...
- java文件断点上传
1,项目调研 因为需要研究下断点上传的问题.找了很久终于找到一个比较好的项目. 在GoogleCode上面,代码弄下来超级不方便,还是配置hosts才好,把代码重新上传到了github上面. http ...
- Curl命令、Elinks命令、lynx命令、Wget命令、lftp命令
一.Curl命令 语法 curl(选项)(参数) 选项 -a/--append 上传文件时,附加到目标文件 -A/--user-agent <string> 设置用户代理发送给服务器 -a ...