PHP抓取淘宝商品的用户晒单评论+图片+搜索商品列表实例


Posted in PHP onApril 14, 2016

说起来做这个功能还真是一时好奇。前段时间在做一个淘客网站的时候,想到是否能抓取到淘宝商品的买家秀呢?经过一番折腾发现,淘宝商品用户评价信息是通过Ajax来调取的,通过嗅探网址发现,评论数据的请求接口是:

https://rate.tmall.com/list_detail_rate.htm?itemId=524394294771&spuId=341564036&sellerId=100414600&order=3¤tPage=1&append=0&content=1&tagId=&posi=&picture=1&callback=jsonp2339

其实上面很多参数也很容易理解,itemId是商品的ID,currentPage是当前页,picture为1时显示有图的评价,既然是抓取买家秀,那么picture参数一定要为1了。

如果你直接去访问上面的接口时,会得到如下图所示的请求结果:

PHP抓取淘宝商品的用户晒单评论+图片+搜索商品列表实例

看到请求结果是jsonp格式我就蛋碎了,我不知道如何去解析,但是换种思路,直接用PHP的正则去解析也未尝不可嘛,通过尝试,已经正确的能够解析到评论内容和买家秀的图片内容,如图:

PHP抓取淘宝商品的用户晒单评论+图片+搜索商品列表实例

效果不错,代码实现了评论内容的抓取、买家秀图片的抓取,代码奉上:

<?php
$url = "https://rate.tmall.com/list_detail_rate.htm?itemId=524394294771&spuId=341564036&sellerId=100414600&order=3¤tPage=1&append=0&content=1&tagId=&posi=&picture=1&callback=jsonp2339";
$ch2 = curl_init();
curl_setopt($ch2, CURLOPT_URL, $url);
curl_setopt($ch2, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($ch2, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($ch2, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch2, CURLOPT_RETURNTRANSFER, TRUE);
$texts = curl_exec($ch2);
curl_close($ch2);
//echo $texts;
$pattern = '/"pics"(.+?)","reply"/is';
preg_match_all($pattern, $texts, $match);
for($i=0;$i<count($match[0]);$i++){
$pattern2 = '/"rateContent":"(.+?)."reply"/is';
preg_match($pattern2, $match[0][$i], $matchcomments_only);
echo "<p>".str_replace('","rateDate":"',' ',str_replace('","reply"','',str_replace('"rateContent":"','',$matchcomments_only[0])))."</p>";
$pattern3 = '/img.alicdn(.+?).jpg/is';
preg_match($pattern3, $match[0][$i], $matchpic_only);
echo '<img src="http://'.$matchpic_only[0].'" width=120>';
}
/*匹配一张图片
$pattern = '/"pics"(.+?)","position"/is';
preg_match_all($pattern, $texts, $matchpic);
for($i=0;$i<count($matchpic[0]);$i++){
$pattern3 = '/img.alicdn(.+?).jpg/is';
preg_match($pattern3, $matchpic[0][$i], $matchpic_only);
echo "<p>".$matchpic_only[0]."</p>";
}*/
/*匹配所有图片
$pattern = '/"pics"(.+?)","position"/is';
preg_match_all($pattern, $texts, $matchpic);
for($i=0;$i<count($matchpic[0]);$i++){
$pics_str=str_replace('"pics":["//','',str_replace('"],"picsSmall":"","position"','',$matchpic[0][$i]));
$arr = explode('","//',$pics_str);
echo "<p>";
foreach($arr as $newstr){
echo '<img src=http://'.$newstr.' width=100 >';
}
echo "</p>";
}*/
?>

下面给大家介绍PHP抓取淘宝搜索商品列表实例

<?php
header("Content-Type:text/html;charset=gbk");
include "Snoopy.class.php"; 
$snoopy = new Snoopy; 
$snoopy->fetch("http://s.taobao.com/search?spm=a230r.1.8.7.2NN4M7&q=%C7%EF%B6%AC%B4%F3%D2%C2&source=tbsy&refpid=420461_1006&discount_index=1&newpre=null&p4p_str=fp_midtop%3D0%26firstpage_pushleft%3D0&style=list&s=0#J_Filter"); 
$html=$snoopy->results; 
//说明:抓取网页使用的是 Snoopyphp 框架 也可以直接使用file_get_contents函数获取即可,
//var_dump($html);
preg_match_all('/<h3 class="summary">.*</a>/',$html,$result);
//preg_match_all('/<divsid="([a-z0-9_]+)">([^<>]+)</div>/',$html,$result);
var_dump($result);
echo "<br>";
/*
//循环读取数组
foreach($result as $key1){
foreach($key1 as $key => $val){
echo $key.$val;
}
}
*/

以上所述是小编给大家介绍的PHP抓取淘宝商品的用户晒单评论+图片+搜索商品列表实例,希望对大家有所帮助!

PHP 相关文章推荐
php实现的在线人员函数库
Apr 09 PHP
php使用smtp发送支持附件的邮件示例
Apr 13 PHP
PHP中使用strpos函数实现屏蔽敏感关键字功能
Aug 21 PHP
php实现webservice实例
Nov 06 PHP
php防止网站被攻击的应急代码
Oct 21 PHP
PHP+Ajax异步带进度条上传文件实例
Nov 01 PHP
详解Yii2 rules 的验证规则
Dec 02 PHP
POST一个JSON格式的数据给Restful服务实例详解
Apr 07 PHP
php 使用curl模拟ip和来源进行访问的实现方法
May 02 PHP
tp5框架基于Ajax实现列表无刷新排序功能示例
Feb 10 PHP
phpQuery采集网页实现代码实例
Apr 02 PHP
Yii中特殊行为ActionFilter的使用方法示例
Oct 18 PHP
php上传大文件设置方法
Apr 14 #PHP
什么是OneThink oneThink后台添加插件步骤
Apr 13 #PHP
java模拟PHP的pack和unpack类
Apr 13 #PHP
php远程下载类分享
Apr 13 #PHP
Thinkphp和onethink实现微信支付插件
Apr 13 #PHP
PHP MSSQL 分页实例
Apr 13 #PHP
php构造方法中析构方法在继承中的表现
Apr 12 #PHP
You might like
使用php+swoole对client数据实时更新(一)
2016/01/07 PHP
Yii视图操作之自定义分页实现方法
2016/07/14 PHP
分析PHP中单双引号的误区和双引号小隐患
2016/07/19 PHP
php版微信公众平台接口参数调试实现判断用户行为的方法
2016/09/23 PHP
JavaScript高级程序设计 错误处理与调试学习笔记
2011/09/10 Javascript
收集json解析的四种方法分享
2014/01/17 Javascript
$(&quot;&quot;).click与onclick的区别示例介绍
2014/09/25 Javascript
详解javascript实现瀑布流列式布局
2016/01/29 Javascript
js实现右键菜单功能
2016/11/28 Javascript
jQuery模拟淘宝购物车功能
2017/02/27 Javascript
基于vue.js轮播组件vue-awesome-swiper实现轮播图
2017/03/17 Javascript
JavaScript运动框架 链式运动到完美运动(五)
2017/05/18 Javascript
jQuery实现获取table中鼠标click点击位置行号与列号的方法
2017/10/09 jQuery
详解vue的diff算法原理
2018/05/20 Javascript
Vue+axios实现统一接口管理的方法
2018/07/23 Javascript
JavaScript高级函数应用之分时函数实例分析
2018/08/03 Javascript
JS实现深度优先搜索求解两点间最短路径
2019/01/17 Javascript
JS实现的贪吃蛇游戏案例详解
2019/05/01 Javascript
Vue 实现简易多行滚动&quot;弹幕&quot;效果
2020/01/02 Javascript
Python中optionParser模块的使用方法实例教程
2014/08/29 Python
跟老齐学Python之开始真正编程
2014/09/12 Python
Python3实现的画图及加载图片动画效果示例
2018/01/19 Python
通过Pandas读取大文件的实例
2018/06/07 Python
使用python根据端口号关闭进程的方法
2018/11/06 Python
代码实例讲解python3的编码问题
2019/07/08 Python
django数据库自动重连的方法实例
2019/07/21 Python
django数据关系一对多、多对多模型、自关联的建立
2019/07/24 Python
利用PyTorch实现VGG16教程
2020/06/24 Python
美国马匹用品和骑马配件购物网站:Horse.com
2018/01/08 全球购物
将相和教学反思
2014/02/04 职场文书
文明礼仪伴我行演讲稿
2014/05/12 职场文书
安全演讲稿开场白
2014/08/25 职场文书
酒店销售经理岗位职责
2015/04/02 职场文书
详解GaussDB for MySQL性能优化
2021/05/18 MySQL
Python torch.flatten()函数案例详解
2021/08/30 Python
Shell脚本一键安装Nginx服务自定义Nginx版本
2022/03/20 Servers