最新抓取淘宝价格数据,图片标题的就更好抓了整合就好
2015-08-05 14:29
736 查看
淘宝现在变成https了。不过难不倒咱们这帮程序员的,不说废话
<?php
$url='https://mdskip.taobao.com/core/initItemDetail.htm?itemId=520048818994';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
//设置来源链接,这里是商品详情页链接
curl_setopt($ch,CURLOPT_REFERER,"https://detail.tmall.com/item.htm?spm=a220m.1000858.1000725.16.e5qIwL&id=520048818994&skuId=3100219519273&areaId=110000&cat_id=2&rn=530571831843b5644f85de9cfa5ee2f3&user_id=2153724245&is_b=1");
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);//规避证书
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); // 防止302 盗链
$result = curl_exec($ch);
curl_close($ch);
//去除回车、空格等
$result=str_replace(array("\r\n","\n","\r","\t",chr(9),chr(13)),'',$result);
$mode="#([0-9]+)\:#m";
preg_match_all($mode,$result,$s);
$s=$s[1];
if(count($s)>0){
foreach($s as $v){
$result=str_replace($v.':','"'.$v.'":',$result);
}
}
//将字符编码转为utf-8,并且将中文转译,否则json_decode会出现错误
$result=iconv('gb2312','utf-8',$result);
$str=array();
$mode='/([\x80-\xff]*)/i';
if(preg_match_all($mode,$result,$s)){
foreach($s[0] as $v){
if(!empty($v)){
$str[base64_encode($v)]=$v;
$result=str_replace('"'.$v.'"','"'.base64_encode($v).'"',$result);
}
}
}
$result=json_decode($result,true);
foreach($result['defaultModel']['itemPriceResultDO']['priceInfo'] as $k=>$v) {
if (empty($v['promotionList'])) {
$arrprice = $v['price'];
} else {
$arrprice = $v['promotionList'][0]['price'];
}
}
print_r($arrprice);
?>
<?php
$url='https://mdskip.taobao.com/core/initItemDetail.htm?itemId=520048818994';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
//设置来源链接,这里是商品详情页链接
curl_setopt($ch,CURLOPT_REFERER,"https://detail.tmall.com/item.htm?spm=a220m.1000858.1000725.16.e5qIwL&id=520048818994&skuId=3100219519273&areaId=110000&cat_id=2&rn=530571831843b5644f85de9cfa5ee2f3&user_id=2153724245&is_b=1");
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);//规避证书
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); // 防止302 盗链
$result = curl_exec($ch);
curl_close($ch);
//去除回车、空格等
$result=str_replace(array("\r\n","\n","\r","\t",chr(9),chr(13)),'',$result);
$mode="#([0-9]+)\:#m";
preg_match_all($mode,$result,$s);
$s=$s[1];
if(count($s)>0){
foreach($s as $v){
$result=str_replace($v.':','"'.$v.'":',$result);
}
}
//将字符编码转为utf-8,并且将中文转译,否则json_decode会出现错误
$result=iconv('gb2312','utf-8',$result);
$str=array();
$mode='/([\x80-\xff]*)/i';
if(preg_match_all($mode,$result,$s)){
foreach($s[0] as $v){
if(!empty($v)){
$str[base64_encode($v)]=$v;
$result=str_replace('"'.$v.'"','"'.base64_encode($v).'"',$result);
}
}
}
$result=json_decode($result,true);
foreach($result['defaultModel']['itemPriceResultDO']['priceInfo'] as $k=>$v) {
if (empty($v['promotionList'])) {
$arrprice = $v['price'];
} else {
$arrprice = $v['promotionList'][0]['price'];
}
}
print_r($arrprice);
?>
相关文章推荐
- 一个关于if else容易迷惑的问题
- PHP5.2.*防止Hash冲突拒绝服务攻击的Patch
- 深入理解PHP之匿名函数
- JSP/PHP基于Ajax的分页功能实现
- 关于PHP通过PDO用中文条件查询MySQL的问题。
- 什么是设计模式
- PHP数据库长连接mysql_pconnect的细节
- Php Installing An Expansion
- PHP+Apache在Windows 9x下的安装和配置
- IIS 6 的 PHP 最佳配置方法
- 安装Apache和PHP的一些补充
- Linux Apache+MySQL+PHP
- 建立Apache+PHP+MySQL数据库驱动的动态网站
- PHP 5.3.0 安装分析心得
- apache 环境下 php 的配置注意事项
- ASP.NET、ASP、PHP、JSP之间有什么区别?
- PHP VBS JS 函数 对照表
- C语言实现的统计php代码行数功能源码(支持文件夹、多目录)
- php xml 入门学习资料