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中的深拷贝和浅拷贝详解
Jun 03 Python
Python3 适合初学者学习的银行账户登录系统实例
Aug 08 Python
Python自定义简单图轴简单实例
Jan 08 Python
matplotlib 输出保存指定尺寸的图片方法
May 24 Python
python实现一个简单的ping工具方法
Jan 31 Python
Flask框架实现的前端RSA加密与后端Python解密功能详解
Aug 13 Python
python多进程并行代码实例
Sep 30 Python
手把手教你安装Windows版本的Tensorflow
Mar 26 Python
什么是python的必选参数
Jun 21 Python
python实现三壶谜题的示例详解
Nov 02 Python
Python Django ORM连表正反操作技巧
Jun 13 Python
Python 匹配文本并在其上一行追加文本
May 11 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
如何使用Linux的Crontab定时执行PHP脚本的方法
2011/12/19 PHP
PHP获取用户的浏览器与操作系统信息的代码
2012/09/04 PHP
php使用Session和文件统计在线人数
2015/07/04 PHP
php实现搜索一维数组元素并删除二维数组对应元素的方法
2015/07/06 PHP
在WordPress中安装使用视频播放器插件Hana Flv Player
2016/01/04 PHP
thinkPHP实现基于ajax的评论回复功能
2018/06/22 PHP
php中pcntl_fork创建子进程的方法实例
2019/03/14 PHP
javascript的对话框详解与参数
2007/03/08 Javascript
flash javascript之间的通讯方法小结
2008/12/20 Javascript
经典海量jQuery插件 大家可以收藏一下
2010/02/07 Javascript
复制js对象方法(详解)
2013/07/08 Javascript
动态加载iframe时get请求传递中文参数乱码解决方法
2014/05/07 Javascript
jQuery实现带有洗牌效果的动画分页实例
2015/08/31 Javascript
JS在一定时间内跳转页面及各种刷新页面的实现方法
2016/05/26 Javascript
Vue自定义指令实现checkbox全选功能的方法
2018/02/28 Javascript
Vue组件创建和传值的方法
2018/08/17 Javascript
Express结合Webpack的全栈自动刷新
2019/05/23 Javascript
Python简单实现TCP包发送十六进制数据的方法
2016/04/16 Python
python2.6.6如何升级到python2.7.14
2018/04/08 Python
在PyCharm下使用 ipython 交互式编程的方法
2019/01/17 Python
Python不同目录间进行模块调用的实现方法
2019/01/29 Python
对python中UDP,socket的使用详解
2019/08/22 Python
Windows上安装tensorflow  详细教程(图文详解)
2020/02/04 Python
如何理解委托
2012/01/06 面试题
大学生村官工作感言
2014/01/10 职场文书
八年级美术教学反思
2014/02/02 职场文书
幼儿教师师德师风演讲稿
2014/08/22 职场文书
学习走群众路线心得体会
2014/11/05 职场文书
2014年仓管员工作总结
2014/11/18 职场文书
小学数学继续教育研修日志
2015/11/13 职场文书
又涨知识了,自律到底多重要?
2019/06/27 职场文书
小学生作文写作技巧100例,非常实用!
2019/07/08 职场文书
golang 接口嵌套实现复用的操作
2021/04/29 Golang
MySQL8.0.18配置多主一从
2021/06/21 MySQL
JUnit5常用注解的使用
2021/07/02 Java/Android
python 详解turtle画爱心代码
2022/02/15 Python