将淘宝客链接转换为正常淘宝、天猫商品链接

前一阵有个朋友采集了一堆的淘宝客推广链接,但很多都是加密后的格式 http://s.click.taobao.com/t?e=zGU34CA7K%2BPkqB07S4%2FK0CITy7klxxrJ35Nnc0vWaHl37H18cjdMO0RFhunziOFb%2FYR38ThEJAQs2K2vhBq7dgXLmU%2BSx8tU3PLk9d5Pc2Up


下文均简称此为 淘客链接 ,朋友希望能转换成正常的淘宝链接,然后他再去自己的微博等地方单独推广这些商品。
他Google了一下,现有的大部分工具都是将普通的淘宝商品链接转换成淘宝客链接,没找到现成的工具可以反向操作的。朋友QQ问我有没办法实现,本来计划用c#写一个gui的工具给他,但他机器上没.net framework加上朋友对这些东西一知半解,还是用Python做了一个简单的实现 这里就不放出最终的成品了,只放出操作的过程和核心的函数 。


首先拿到一个淘宝客链接: 淘客链接


然后在浏览器访问一下,抓一下中间跳转的过程: 
 淘宝客链接跳转过程
淘宝客链接跳转过程

挨个分析一下其中的调整以及逻辑就能反向解出正常的淘宝商品链接了。


我来按照上图的调整步骤挨个分析一下:




从咱们拿到的 淘客链接 做了一个302跳转到 http://s.click.taobao.com/t_js?tu=http%3A%2F%2Fs.click.taobao.com%2Ft%3Fe%3DzGU34CA7K%252BPkqB07S4%252FK0CITy7klxxrJ35Nnc0vWaHl37H18cjdMO0RFhunziOFb%252FYR38ThEJAQs2K2vhBq7dgXLmU%252BSx8tU3PLk9d5Pc2Up%26ref%3D%26et%3DjFBB23s9VUPVFw%253D%253D 这个地址。 因为此链接中有一个参数为tu,下文均称此链接为 TU
跳转到 TU 后,淘宝返回的页面内容为一堆HTML,HTML内容见 这里 ,然后将 TU 中tu这个参数的内容做了 unescape 操作后用js做了一个跳转的操作 实际上是用js生成了一个超链接 简称为ET ,然后用js模拟点击了此链接
如果仔细观察 ET 和咱们拿到的 淘客链接 相比其实只增加了两个参数 ref 和 et , 但是实际操作中如果仅仅手动增加这两个参数是不行的……这个链接有一个隐藏的参数即Referer
从图片中能看到 ET 这个链接就会跳转到正常的 淘宝商品页面 ,url中仅仅是增加了一个参数 ali_trackid
所以实际操作中咱们只要能拿到 TU 链接,然后 unescape 出tu参数得到 ET ,然后带上Referer(== TU )调整到 ET ,再将最终的 淘宝商品页面 最后一个参数 ali_trackid 去掉就是一个完全正常的淘宝商品链接了。


写了这么一堆实际上用Python实现起来只有短短几行就搞定了:




# -*- coding:utf-8 -*-
import requests, sys, urllib


reload(sys)
sys.setdefaultencoding('utf-8')


url = 'http://s.click.taobao.com/t?e=zGU34CA7K%2BPkqB07S4%2FK0CITy7klxxrJ35Nnc0vWaHl37H18cjdMO0RFhunziOFb%2FYR38ThEJAQs2K2vhBq7dgXLmU%2BSx8tU3PLk9d5Pc2Up'


def get_real_taobao(url):
    _refer = requests.get(url).url
    headers = {'Referer': _refer}
    return requests.get(urllib.unquote(_refer.split('tu=')[1]), headers=headers).url.split('&ali_trackid=')[0]


rel = get_real_taobao(url)

print rel

  http://www.au92.com/archives/taobaoke-to-normal-taobao-link.html


你可能感兴趣的:(将淘宝客链接转换为正常淘宝、天猫商品链接)