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并发编程的工程实现方法
May 31 Python
python与C、C++混编的四种方式(小结)
Jul 15 Python
Django外键(ForeignKey)操作以及related_name的作用详解
Jul 29 Python
python3.6、opencv安装环境搭建过程(图文教程)
Nov 05 Python
flask 实现token机制的示例代码
Nov 07 Python
Python计算机视觉里的IOU计算实例
Jan 17 Python
Python object类中的特殊方法代码讲解
Mar 06 Python
Python使用Selenium实现淘宝抢单的流程分析
Jun 23 Python
Python 使用Opencv实现目标检测与识别的示例代码
Sep 08 Python
Python通过字典映射函数实现switch
Nov 06 Python
python 实时调取摄像头的示例代码
Nov 25 Python
python实现KNN近邻算法
Dec 30 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
PHP结合Jquery和ajax实现瀑布流特效
2016/01/07 PHP
PHP获取指定时间段之间的 年,月,天,时,分,秒
2016/06/05 PHP
Cookie 注入是怎样产生的
2009/04/08 Javascript
javascript(jquery)利用函数修改全局变量的代码
2009/11/02 Javascript
javascript 获取元素位置的快速方法 getBoundingClientRect()
2009/11/26 Javascript
javascript游戏开发之《三国志曹操传》零部件开发(二)人物行走的实现
2013/01/23 Javascript
javascript ready和load事件的区别示例介绍
2013/08/30 Javascript
javascript动态创建表格及添加数据实例详解
2015/05/13 Javascript
js判断当前页面在移动设备还是在PC端中打开
2016/01/06 Javascript
JQuery导航菜单选择特效
2016/04/11 Javascript
Bootstrap每天必学之标签页(Tab)插件
2020/08/09 Javascript
Angularjs---项目搭建图文教程
2016/07/08 Javascript
AngularJS中关于ng-class指令的几种实现方式详解
2016/09/17 Javascript
AngularJS模态框模板ngDialog的使用详解
2018/05/11 Javascript
Bootstrap 按钮样式与使用代码详解
2018/12/09 Javascript
原生js实现的移动端可拖动进度条插件功能详解
2019/08/15 Javascript
Vue路由切换页面不更新问题解决方案
2020/07/10 Javascript
一文秒懂JavaScript构造函数、实例、原型对象以及原型链
2020/08/25 Javascript
微信小程序实现点击导航条切换页面
2020/11/19 Javascript
vue 使用class创建和清除水印的示例代码
2020/12/25 Vue.js
详解Python的Flask框架中生成SECRET_KEY密钥的方法
2016/06/07 Python
Python的argparse库使用详解
2018/10/09 Python
Python 调用PIL库失败的解决方法
2019/01/08 Python
自定义django admin model表单提交的例子
2019/08/23 Python
详解pandas.DataFrame.plot() 画图函数
2020/06/14 Python
python 如何利用argparse解析命令行参数
2020/09/11 Python
对pytorch中x = x.view(x.size(0), -1) 的理解说明
2021/03/03 Python
Python .py生成.pyd文件并打包.exe 的注意事项说明
2021/03/04 Python
24岁生日感言
2014/01/13 职场文书
最美乡村医生事迹材料
2014/06/02 职场文书
法学自荐信
2014/06/20 职场文书
2014年销售人员工作总结
2014/11/27 职场文书
2014年煤矿安全工作总结
2014/12/04 职场文书
乡镇保密工作承诺书
2015/05/04 职场文书
2015年汽车销售员工作总结
2015/07/24 职场文书