一 用的QueryList库

二 安装方法

确认已经安装了composer,因为速度会很慢,可以切换到中国镜像:

composer config -g repo.packagist composer https://packagist.phpcomposer.com

安装QueryList:

composer require jaeger/querylist

QueryList文档地址,可以了解下:

http://www.querylist.cc/#one

三 需求如下

通过淘宝或天猫的商品链接,采集该商品链接对应的商品标题、商品首图、店铺名称、商家旺旺名称

四 目前的采集数据Demo可以适用于所有天猫商品+店铺名称在右边或上边的

五 代码如下

<?phpinclude "vendor/autoload.php";use QL\QueryList;function uni_decode($s) {  //针对部分淘宝宝贝链接的店铺名被加密进行解密处理preg_match_all('/\&\#([0-9]{2,5})\;/', $s, $html_uni);  preg_match_all('/[\\\%]u([0-9a-f]{4})/ie', $s, $js_uni);  $source = array_merge($html_uni[0], $js_uni[0]);  $js = array();  for($i=0;$i<count($js_uni[1]);$i++) {  $js[] = hexdec($js_uni[1][$i]);  }  $utf8 = array_merge($html_uni[1], $js);  $code = $s;  for($j=0;$j<count($utf8);$j++) {  $code = str_replace($source[$j], unicode2utf8($utf8[$j]), $code);  }  return $code;
}  function unicode2utf8($c) {  $str="";  if ($c < 0x80) {  $str.=chr($c);  } else if ($c < 0x800) {  $str.=chr(0xc0 | $c>>6);  $str.=chr(0x80 | $c & 0x3f);  } else if ($c < 0x10000) {  $str.=chr(0xe0 | $c>>12);  $str.=chr(0x80 | $c>>6 & 0x3f);  $str.=chr(0x80 | $c & 0x3f);  } else if ($c < 0x200000) {  $str.=chr(0xf0 | $c>>18);  $str.=chr(0x80 | $c>>12 & 0x3f);  $str.=chr(0x80 | $c>>6 & 0x3f);  $str.=chr(0x80 | $c & 0x3f);  }  return $str;
} function get_between($input, $start, $end) {//截取指定两个字符之间的内容return substr($input, strlen($start)+strpos($input, $start),(strlen($input) - strpos($input, $end))*(-1));
}function trimall($str)//删除空格
{$qian=array(" "," ","\t","\n","\r");$hou=array("","","","","");return str_replace($qian,$hou,$str);
}$url = 'https://item.taobao.com/item.htm?spm=a230r.1.14.34.47cd6ace3iAnm0&id=564043247193&ns=1&abbucket=19#detail';$ql = QueryList::get($url)->encoding('UTF-8','GB2312');//防止数据乱码//针对1天猫宝贝链接 2淘宝店铺名在右边 3淘宝店铺名在上面 采取不同的采集方式
if (substr($url, 0, 24) == 'https://detail.tmall.com') {$rt = ['img'         => $ql->find('#J_ImgBooth')->attr('src'),'title'    => $ql->find(':input[name="title"]')->attr('value'),'shop_name' => $ql->find('.slogo-shopname')->text()];$rt['seller_name'] = $rt['shop_name'];} else {$rt = ['img'        => $ql->find('#J_ImgBooth')->attr('src'),'title'    => $ql->find('.tb-main-title')->text(),'shop_name'   => $ql->find('.tb-shop-name>dl>dd>strong>a')->text(),'seller_name' => $ql->find('.tb-seller-name')->text()];if (!$rt['shop_name']) {$config = substr(trimall($ql->find('script')->eq(0)->text()), 100, 150);$shop_name = get_between($config, "shopName:'", "',sellerId");$rt['shop_name'] = uni_decode($shop_name);$rt['seller_name'] = get_between($config, "sellerNick:'", "',sibUrl");}
}var_dump($rt['shop_name']);echo '<hr />';
?><!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>爬取淘宝商品数据Demo</title>
</head>
<body><h4>标题:<?php echo $rt['title']; ?></h4><h4>店铺:<?php echo $rt['shop_name']; ?></h4><h4>旺旺:<?php echo $rt['seller_name']; ?></h4><h4>图片:</h4><img src="<?php echo $rt['img'] ?>" alt="">
</body>
</html>

六 效果展示

1 天猫商品链接

https://detail.tmall.com/item.htm?spm=a230r.1.14.9.47cd6ace3iAnm0&id=591124740347&cm_id=140105335569ed55e27b&abbucket=19&skuId=4060807516519

采集效果:

2 店铺名称在右边的淘宝商品链接

https://item.taobao.com/item.htm?spm=a230r.1.14.34.47cd6ace3iAnm0&id=564043247193&ns=1&abbucket=19#detail

采集效果:

3 店铺名称在上方的商品链接(这个稍微有些麻烦,因为这种类型的商家旺旺和店铺名都是在js中的,而且店铺名称还是加过密的)

https://item.taobao.com/item.htm?spm=a230r.1.14.34.47cd6ace3iAnm0&id=564043247193&ns=1&abbucket=19#detail

采集效果:

7 最近项目中刚好有这个需求,所以写的这个Demo,如果需要采集其它的数据,可以参考QueryList手册,根据实际产品业务需求进行更改

转载于:https://www.cnblogs.com/qczy/p/11551466.html

采集淘宝或天猫商品的店铺名称/商家旺旺/商品首图/商品标题相关推荐

  1. php 淘宝、天猫店铺商品采集

    php 淘宝.天猫店铺商品采集 ------------------------             原创                 ---------------------------- ...

  2. 淘宝,天猫,1688,微店,京东,苏宁,淘特,小红书等30多个平台一键复制商品到拼多多平台(批量上传宝贝详情接口教程)

    不少开网店的朋友拿到数据包或宝贝图片的时候不知道该如何上传快速有效完整地到自己所开的网店上,您是不是也有这个困扰呢?下面就来为广大网店店主介绍如何批量采集商品宝贝. 淘宝,天猫,1688,微店,京东, ...

  3. 在iOS应用中跳转到淘宝或天猫客户端商品详情页

    最近做iOS项目的时候遇到一个需求,启动图片后是广告页,点击广告页,跳转到淘宝或天猫的商品详情页. 具体需要是这样: 1)安装了淘宝:跳转到淘宝详情页. 2)没装淘宝,装了天猫:跳转到天猫详情页 3) ...

  4. PHP实现采集淘宝商品信息

    http://daigou.dayusheji.com/demo.php# http://lang.xp3.biz/index.php/60/s/ 一个采集淘宝商品信息的采集 一个采集淘宝商品信息的采 ...

  5. php采集淘宝店的评论,php采集淘宝店铺的所有评论的实现

    php采集淘宝店的评论,php采集淘宝店铺的所有评论的实现 采集淘宝店的所有评论,在之前的博文中我已经介绍了淘宝店铺评论的URL规则,也相当于是采集淘宝评论的接口: 在这里讨论,用php怎么来具体得去 ...

  6. 卖家新神器:淘宝宝贝复制专家。可以复制淘宝、天猫上的宝贝到自家店里卖。分分钟克隆店铺。谁要,请留言你要克隆的店铺或宝贝地址!

    卖家新神器:淘宝宝贝复制专家.可以复制淘宝.天猫上的宝贝到自家店里卖.分分钟克隆店铺.谁要,请留言你要克隆的店铺或宝贝地址!程序源码 定制专家 --------小黄人软件

  7. 淘客API升级后的解决方案,怎么采集淘宝的商品数据

    淘客API升级后的解决方案,怎么采集淘宝的商品数据 继淘客API只能皇冠会员才能使用之后,研究了很多方法来解决采集的数据的问题 现在采用的是URL方式采集搜索页,然后商品API获取商品详情的方法. 然 ...

  8. 关于淘宝、天猫、阿里巴巴/1688商品详情api接口

    关于淘宝.天猫.阿里巴巴/1688商品详情api接口 通过接口返回商品详情数据 api.ouotool.com 申请APPKEY,再直接请求这个接口,带上商品ID参数, $url = '/api?ap ...

  9. 采集淘宝网的10个经典方法

    采集淘宝官网的10个经典方法 采集淘宝数据分析.商品详细信息.竞店数据.品牌数据.全网搜索.网页爬虫.采集网站数据.网页数据采集软件.python爬虫.HTM网页提取.APP数据抓包.APP数据采集. ...

最新文章

  1. 如何查找历史线程阻塞原因_java并发编程-线程状态,线程阻塞方式,阻塞中的线程如何终止?...
  2. cwntos新建目录挂载磁盘_centos挂载磁盘及扩展根目录
  3. 阿里资深技术专家:在各阶段中,3年经验的程序员应具备哪些技术能力(进阶必看)...
  4. 第十届“泰迪杯“感谢学习总结(国三附源码)
  5. AUTOCAD——超级填充
  6. 银河麒麟系统服务端命令_麒麟系统介绍
  7. AspectJ+AJDT+用Ant管理AspectJ项目+AspectJ教程
  8. 腾讯云域名转出转移码申请及转入阿里云全流程(图解)
  9. java对象赋值优雅写法_JavaScript优雅写法及骚操作
  10. 如何用Visio画出总线(空心的箭头)
  11. CBDB中国历代人物历史可视化系统
  12. linux fedora 24 使用 ibus 智能拼音 输入 补全 英文
  13. TPA测试项目管理系统-测试用例管理
  14. Yii Framework 开发教程(30) Zii组件-ListView 示例
  15. php流媒体技术srs,基于SRS开源直播系统设计与实现.doc
  16. SLAM十四讲之第5讲--相机标定
  17. 神经网络——最大池化
  18. gr-osmosdr的安装
  19. 微服务-Nacos动态配置中心
  20. 微信开发-隐藏微信浏览器顶部菜单

热门文章

  1. 树莓派魔镜项目——笔记二 Docker软件安装
  2. appium最全安装指南
  3. 网狐6603 您正在 的 游戏房间中,不能同时进入此游戏房间! 的错误
  4. 算法 | 时间复杂度master 公式
  5. 2023江西理工大学计算机考研信息汇总
  6. Web前端:简易灯箱画廊案例设计
  7. OCR调研(留着以后备用)
  8. [转载]pAppLocale(微软AppLocale修改版,不会有乱码后遗症)+辅助配件
  9. RAW数码照片处理软件SILKYPIX Developer Studio Pro 10E mac
  10. QT显示文字、图片、动画、网址链接、数码管、进度条