PHP captures Taobao product user's order comments and pictures, search product list example, _PHP tutorial

WBOY
Release: 2016-07-12 08:54:19
Original
978 people have browsed it

PHP captures the user’s order comments and pictures of Taobao products and searches for product list examples.

Speaking of doing this function, I was really curious for a moment. When I was building a Taoke website some time ago, I wondered if I could capture the buyer's show of Taobao products? After some troubles, it was discovered that Taobao product user evaluation information is retrieved through Ajax. By sniffing the URL, it was found that the request interface for comment data is:

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

In fact, many of the above parameters are easy to understand. itemId is the ID of the product, currentPage is the current page, and when picture is 1, it displays reviews with pictures. Since it is capturing the buyer show, the picture parameter must be 1.

If you directly access the above interface, you will get the request result as shown below:


I was shocked when I saw that the request result was in jsonp format. I didn’t know how to parse it, but to change my thinking, it might be a good idea to directly use PHP’s regular expressions to parse it. After trying it, I was able to parse the comments correctly. Content and picture content of buyer show, as shown in the picture:

The effect is good. The code realizes the capture of comment content and the capture of buyer show pictures. Here is the code:

<&#63;php
$url = "https://rate.tmall.com/list_detail_rate.htm&#63;itemId=524394294771&spuId=341564036&sellerId=100414600&order=3&currentPage=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"(.+&#63;)","reply"/is';
preg_match_all($pattern, $texts, $match);
for($i=0;$i<count($match[0]);$i++){
$pattern2 = '/"rateContent":"(.+&#63;)."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(.+&#63;).jpg/is';
preg_match($pattern3, $match[0][$i], $matchpic_only);
echo '<img src="http://'.$matchpic_only[0].'" width=120>';
}
/*匹配一张图片
$pattern = '/"pics"(.+&#63;)","position"/is';
preg_match_all($pattern, $texts, $matchpic);
for($i=0;$i<count($matchpic[0]);$i++){
$pattern3 = '/img.alicdn(.+&#63;).jpg/is';
preg_match($pattern3, $matchpic[0][$i], $matchpic_only);
echo "<p>".$matchpic_only[0]."</p>";
}*/
/*匹配所有图片
$pattern = '/"pics"(.+&#63;)","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>";
}*/
&#63;> 
Copy after login

The following is an example of PHP crawling Taobao search product list

<&#63;php
header("Content-Type:text/html;charset=gbk");
include "Snoopy.class.php"; 
$snoopy = new Snoopy; 
$snoopy->fetch("http://s.taobao.com/search&#63;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;
}
}
*/
Copy after login

The above is an example of PHP that the editor introduces to you to capture Taobao products from users’ comments, pictures, and search product lists. I hope it will be helpful to everyone!

Articles you may be interested in:

  • PHP version of Taobao product query interface code example
  • PHP implementation of collecting and capturing single product information on Taobao
  • Introduction and promotion of php curl to capture web pages and integration method of using CURL to capture Taobao pages

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/1120926.htmlTechArticlePHP captures Taobao products’ user posts, comments, images, and searches for product lists. It’s really a short time to implement this function. curious. When I was working on a Taoke website some time ago, I thought of...
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template