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 相关文章推荐
模仿OSO的论坛(二)
Oct 09 PHP
php操作excel文件 基于phpexcel
Jul 02 PHP
一个PHP分页类的代码
May 18 PHP
php文本转图片自动换行的方法
Mar 13 PHP
解析php根据ip查询所在地区(非常有用,赶集网就用到)
Jul 01 PHP
Php-Redis安装测试笔记
Mar 05 PHP
orm获取关联表里的属性值
Apr 17 PHP
PHP二维数组去重算法
Dec 17 PHP
PHP CURL采集百度搜寻结果图片不显示问题的解决方法
Feb 03 PHP
php实现多维数组排序的方法示例
Mar 23 PHP
laravel unique验证、确认密码confirmed验证以及密码修改验证的方法
Oct 16 PHP
TP5框架请求响应参数实例分析
Oct 17 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获取汉字的拼音(全部与首字母)
2013/06/27 PHP
IIS安装Apache伪静态插件的具体操作图文
2013/07/01 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(四)
2014/06/23 PHP
php中将一段数据存到一个txt文件中并显示其内容
2014/08/15 PHP
Laravel实现autoload方法详解
2017/05/07 PHP
浅谈PHP5.6 与 PHP7.0 区别
2019/10/09 PHP
在Javascript中为String对象添加trim,ltrim,rtrim方法
2006/09/22 Javascript
JavaScript中变量提升 Hoisting
2012/07/03 Javascript
动态加载dtree.js树treeview(示例代码)
2013/12/17 Javascript
由简入繁实现Jquery树状结构的方法(推荐)
2016/06/10 Javascript
基于百度地图实现产品销售的单位位置查看功能设计与实现
2016/10/21 Javascript
jquery pagination插件动态分页实例(Bootstrap分页)
2016/12/23 Javascript
JS+jQuery实现注册信息的验证功能
2017/09/26 jQuery
AngularJS实现的生成随机数与猜数字大小功能示例
2017/12/25 Javascript
vue-cli构建项目下使用微信分享功能
2018/05/28 Javascript
JavaScript实现的简单Tab点击切换功能示例
2018/07/06 Javascript
layui--select使用以及下拉框实现键盘选择的例子
2019/09/24 Javascript
[01:19:54]DOTA2上海特级锦标赛主赛事日 - 2 败者组第二轮#1Alliance VS EHOME
2016/03/03 DOTA
利用Python找出序列中出现最多的元素示例代码
2017/12/08 Python
python实现自动解数独小程序
2019/01/21 Python
利用python如何在前程无忧高效投递简历
2019/05/07 Python
python 在右键菜单中加入复制目标文件的有效存放路径(单斜杠或者双反斜杠)
2020/04/08 Python
详解python程序中的多任务
2020/09/16 Python
美国领先的家庭健康检测试剂盒提供商:LetsGetChecked
2019/03/18 全球购物
馥绿德雅美国官方网站:Rene Furterer头皮护理专家
2019/05/01 全球购物
工厂门卫岗位职责
2013/11/25 职场文书
军训的自我鉴定
2013/12/10 职场文书
微型企业创业投资计划书
2014/01/10 职场文书
优秀少先队辅导员先进事迹材料
2014/05/18 职场文书
名人演讲稿范文
2014/09/16 职场文书
“四风”问题对照检查材料思想汇报
2014/09/16 职场文书
出资证明书范本(标准版)
2014/09/24 职场文书
2014年大学生工作总结
2014/11/20 职场文书
运动会闭幕词
2015/01/28 职场文书
SpringBoot详解整合Redis缓存方法
2022/07/15 Java/Android
Python中的socket网络模块介绍
2022/07/23 Python