왜 이 기능을 하고 싶으신가요? 얼마 전 타오케 홈페이지를 구축하면서 타오바오 제품의 바이어 쇼를 포착할 수 있을지 고민했기 때문입니다. 몇 가지 문제 끝에 Taobao 제품 사용자 평가 정보가 Ajax를 통해 검색되는 것을 발견했습니다. URL을 스니핑한 결과 댓글 데이터 요청 인터페이스는
https://rate.tmall.com/list_detail_rate.htm?itemId=524394294771&spuId=341564036&sellerId=100414600&order=3¤tPage=1&append=0&c/span>
입니다.
사실 위의 매개변수 중 대부분은 이해하기 쉽습니다. itemId는 제품의 ID이고, currentPage는 현재 페이지이며, picture가 1이면 사진과 함께 리뷰를 표시하기 때문입니다. 구매자 쇼, 그림 매개변수는 1이어야 합니다.
위 인터페이스에 직접 접속하면 아래와 같은 요청 결과를 얻을 수 있습니다.
요청 결과가 jsonp 형식인 것을 확인했습니다. 계란이 깨졌는데 어떻게 파싱을 해야할지 모르겠는데 생각을 바꾸자면 PHP의 일반 규칙을 직접 사용해 파싱하는 것도 나쁘지 않은 것 같습니다. 시도해본 결과 댓글 내용을 정확하게 파싱할 수 있게 되었습니다. 그림과 같이 구매자 쇼의 사진 콘텐츠:
효과가 좋습니다. 코드는 댓글 콘텐츠 캡처와 구매자 쇼 사진 캡처를 실현합니다. . 코드는 다음과 같습니다.
<?php$url = "https://rate.tmall.com/list_detail_rate.htm?itemId=524394294771&spuId=341564036&sellerId=100414600&order=3¤tPage=1&append=0&c>;$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 "".str_replace('","rateDate":"',' ',str_replace('","reply"','',str_replace('"rateContent":"','',$matchcomments_only[0])))."";$pattern3 = '/img.alicdn(.+?).jpg/is';preg_match($pattern3, $match[0][$i], $matchpic_only);echo '$matchpic_only[0].'" width="120" _src="http://'.$matchpic_only[0].'"/>'; }/*匹配一张图片 $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 "".$matchpic_only[0].""; }*//*匹配所有图片 $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 ""; foreach($arr as $newstr){ echo ''; } echo ""; }*/?>
jsonp 형식을 구문 분석하는 좋은 방법이 있나요? 도와주세요~~
위에서는 PHP를 사용하여 PHP와 타오바오 판매자 콘텐츠를 포함한 타오바오 제품에 대한 댓글을 게시하는 사용자의 사진을 캡처하는 예를 소개합니다. 관심 있는 친구들에게 도움이 되기를 바랍니다. PHP 튜토리얼에서.