python模拟登陆阿里妈妈生成商品推广链接


Posted in Python onApril 03, 2014

淘宝官方有获取商品推广链接的API,但该API属于增值API 普通开发者没有调用权限 需要申请开通

备注:登陆采用的是阿里妈妈账号登陆非淘宝账号登陆

#coding:utf-8
__author__ = 'liukoo'
import urllib,urllib2,cookielib,re
from hashlib import md5
class alimama:
    def __init__(self):
        self.header = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.95 Safari/537.36'}
        #cookie 支持
        self.cookie_handle = cookielib.CookieJar()
        self.opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(self.cookie_handle))
        urllib2.install_opener(self.opener)
    #登陆
    def login(self,username,passwd):
        login_data = {
            'logname':'',
            'originalLogpasswd':'',
            'logpasswd':'',
            'proxy':'',
            'redirect':'',
            'style':''
        }
        login_data['logname'] =username
        login_data['originalLogpasswd'] =passwd
        login_data['logpasswd'] = md5(login_data['originalLogpasswd']).hexdigest()
        source = urllib2.urlopen('http://www.alimama.com/member/minilogin.htm').read()
        token_list = re.findall(r"input name='_tb_token_' type='hidden' value='([a-zA-Z0-9]+)'", source)
        login_data['_tb_token_'] = token_list[0] if token_list else ''
        loginurl = 'https://www.alimama.com/member/minilogin_act.htm'
        #拼接post数据
        login_data = urllib.urlencode(login_data)
        self.header['Referer'] = 'http://www.alimama.com/member/minilogin.htm'
        try:
            req = urllib2.Request(url=loginurl,data=login_data,headers=self.header)
            resp =urllib2.urlopen(req)
            html = resp.read()
            if str(resp.url).find('success')!=-1:
                return True
        except Exception,e:
            print e
            return False
    #获取商品的推广链接
    def getUrl(self,url):
        try:
            item_id = re.search(r"id=(\d+)",url)
            item_id = item_id.group(1)
            html = urllib2.urlopen('http://u.alimama.com/union/spread/common/allCode.htm?specialType=item&auction_id='+item_id).read()
            rule = re.compile(r"var clickUrl = \'([^\']+)")
            return rule.search(html).group(1)
        except Exception,e:
            print e
            return False
#example
# ali = alimama()
# if ali.login('admin@liuko.com','xxxxxx'):
#     url = ali.getUrl('http://item.taobao.com/item.htm?spm=a1z10.1.w4004-1205618817.6.Evkf6O&id=19322457214')
#     if url:
#         print url
#     else:
#         print '获取推广链接失败'
# else:
#     print '登陆失败'
Python 相关文章推荐
使用Python的Flask框架构建大型Web应用程序的结构示例
Jun 04 Python
python装饰器实例大详解
Oct 25 Python
Python线性回归实战分析
Feb 01 Python
使用PyInstaller将python转成可执行文件exe笔记
May 26 Python
实例讲解Python爬取网页数据
Jul 08 Python
详解python数据结构和算法
Apr 18 Python
PyQt编程之如何在屏幕中央显示窗体的实例
Jun 18 Python
postman传递当前时间戳实例详解
Sep 14 Python
python通过移动端访问查看电脑界面
Jan 06 Python
Pytorch通过保存为ONNX模型转TensorRT5的实现
May 25 Python
在python中对于bool布尔值的取反操作
Dec 11 Python
python读取excel数据并且画图的实现示例
Feb 08 Python
python多线程抓取天涯帖子内容示例
Apr 03 #Python
python局域网ip扫描示例分享
Apr 03 #Python
python实现数通设备tftp备份配置文件示例
Apr 02 #Python
python实现巡检系统(solaris)示例
Apr 02 #Python
python实现apahce网站日志分析示例
Apr 02 #Python
python实现数通设备端口监控示例
Apr 02 #Python
使用python解析xml成对应的html示例分享
Apr 02 #Python
You might like
CodeIgniter框架常见用法工作总结
2017/03/16 PHP
JMenuTab简单使用说明
2008/03/13 Javascript
Jquery拖拽并简单保存的实现代码
2010/11/28 Javascript
JqGrid web打印实现代码
2011/05/31 Javascript
JavaScript中数组的排序、乱序和搜索实现代码
2011/11/30 Javascript
将查询条件的input、select清空
2014/01/14 Javascript
javascript常用的正则表达式实例
2014/05/15 Javascript
让html页面不缓存js的实现方法
2014/10/31 Javascript
js制作简易年历完整实例
2015/01/28 Javascript
JavaScript 实现的 zip 压缩和解压缩工具包Zip.js使用详解
2015/12/14 Javascript
Nodejs 获取时间加手机标识的32位标识实现代码
2017/03/07 NodeJs
利用vue+elementUI实现部分引入组件的方法详解
2017/11/22 Javascript
node下使用UglifyJS压缩合并JS文件的方法
2018/03/07 Javascript
使用vue-cli webpack 快速搭建项目的代码
2018/11/21 Javascript
Vue中Table组件Select的勾选和取消勾选事件详解
2019/03/19 Javascript
详解vue-cli项目开发/生产环境代理实现跨域请求
2019/07/23 Javascript
js+canvas绘制图形验证码
2020/09/21 Javascript
微信小程序实现倒计时功能
2020/11/19 Javascript
python 线程的暂停, 恢复, 退出详解及实例
2016/12/06 Python
TF-IDF与余弦相似性的应用(一) 自动提取关键词
2017/12/21 Python
Python模块文件结构代码详解
2018/02/03 Python
Centos 升级到python3后pip 无法使用的解决方法
2018/06/12 Python
Tensorflow 同时载入多个模型的实例讲解
2018/07/27 Python
python利用百度AI实现文字识别功能
2018/11/27 Python
Python之循环结构
2019/01/15 Python
flask/django 动态查询表结构相同表名不同数据的Model实现方法
2019/08/29 Python
使用OpCode绕过Python沙箱的方法详解
2019/09/03 Python
Python sep参数使用方法详解
2020/02/12 Python
伊莱克斯阿根廷网上商店:Tienda Electrolux
2021/03/08 全球购物
视光学专业毕业生推荐信
2013/10/28 职场文书
学校十一活动方案
2014/02/01 职场文书
听课评语大全
2014/04/30 职场文书
公司节能减排倡议书
2014/05/14 职场文书
港澳通行证委托书怎么写
2014/08/02 职场文书
领导干部作风建设剖析材料
2014/10/11 职场文书
redis哨兵常用命令和监控示例详解
2021/05/27 Redis