以前我写了一个把淘宝客链接转换成普通商品链接的贴子,近期又有很多人问我手机淘宝上的分享的链接如何转换成普通链接。
首先我们来分析一下,手淘分享出来的链接是什么样的,IOS和android不同系统的APP复制出来的多少有些差异,但是基本都包含了一个短链接和一个淘口令,我们转换成普通商品链接就需要从这个短链接和淘口令入手了。
解析转换之前,先整理一下有两种情况:商品是淘宝客商品和非淘宝客商品。因为不同的情况要使用不同的接口和方法。
如果是淘宝客商品的话,就容易得多了,淘宝开放平台提供的有相应解析接口,如果是非淘宝客商品,就需要通过其他非正常接口去抓取了。
对我自己来说的话,从淘口令中取商品链接相对容易很多,因为我自己有一套这样的系统,可以解析淘客和非淘客的一切单品淘口令,可以方便的把别人的淘口令解析出来。目前已经开发成API接口对外接入使用。申请地址:https://www.yangtata.com/user
如果不想使用我的接口,想自己转化的话,那么从短链接中取商品链接相对容易些,不需要用到其他接口。
以下链接是从手淘APP中复制的:https://c.tb.cn/h.eoEsT08?sm=d79c3c,默认复制的是一段话,我们只需要从里面取出链接就行了。
然后我们使用PHP的curl函数请求:请求之后你会发现结果页面中有一段JS直接跳转了,所以我们不能直接输出页面结果,要用方法把JS中的链接出来,最后面有一个自定义截取
$urls = "https://c.tb.cn/h.eoEsT08?sm=d79c3c";
$chss = curl_init(); curl_setopt($chss, CURLOPT_URL, $urls);curl_setopt($chss, CURLOPT_RETURNTRANSFER, 1);curl_setopt($chss, CURLOPT_FOLLOWLOCATION,true);curl_setopt($chss, CURLOPT_MAXREDIRS,2);curl_setopt($chss, CURLOPT_SSL_VERIFYPEER, FALSE);curl_setopt($chss, CURLOPT_SSL_VERIFYHOST, FALSE);$contents = curl_exec($chss);curl_close($chss);$item_url = get_word($contents,"var url = '", "';");echo $item_url;
自定义截取函数
function get_word($html,$star,$end){$pat = '/'.$star.'(.*?)'.$end.'/s';if(!preg_match_all($pat, $html, $mat)) { }else{$wd= $mat[1][0];}return $wd;}
最后打印出来:https://a.m.taobao.com/i587155350398.htm?price=59&sourceType=item&sourceType=item&suid=16444eb8-5c8e-45f8-8a2f-029c43d40f05&ut_sk=1.XCv%2FCA9ynMADABVsYdOVFY5s_21646297_1570646701538.Copy.1&un=61f102dac9fc08ff4b68d5f77a161062&share_crt_v=1&spm=a2159r.13376460.0.0&sp_tk=JEF3MXZZTG9UZFVVJA==&cpp=1&shareurl=true&short_name=h.eoEsT08
看到商品链接没有?
本文由花卷云发布或转载自网络,不代表花卷云立场,转载联系作者并注明出处:https://www.hndhsoft.com/news/142.html