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 isinstance函数介绍
Apr 14 Python
Python的装饰器模式与面向切面编程详解
Jun 21 Python
Python的Django框架中的Context使用
Jul 15 Python
通过源码分析Python中的切片赋值
May 08 Python
flask框架视图函数用法示例
Jul 19 Python
对python调用RPC接口的实例详解
Jan 03 Python
python实现从本地摄像头和网络摄像头截取图片功能
Jul 11 Python
Flask框架学习笔记之路由和反向路由详解【图文与实例】
Aug 12 Python
python实现引用其他路径包里面的模块
Mar 09 Python
PyTorch中Tensor的数据类型和运算的使用
Sep 03 Python
python中字符串的编码与解码详析
Dec 03 Python
python opencv检测直线 cv2.HoughLinesP的实现
Jun 18 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 防注入函数(格式化数据)
2011/08/08 PHP
PHP+MYSQL会员系统的登陆即权限判断实现代码
2011/09/23 PHP
利用php+mcDropdown实现文件路径可在下拉框选择
2013/08/07 PHP
thinkphp查询,3.X 5.0方法(亲试可行)
2017/06/17 PHP
phpStudy配置多站点多域名和多端口的方法
2017/09/01 PHP
如何利用PHP实现上传图片功能详解
2020/09/24 PHP
ExtJS TabPanel beforeremove beforeclose使用说明
2010/03/31 Javascript
基于jQuery判断两个元素是否有重叠部分的代码
2012/07/25 Javascript
使用firebug进行调试javascript的示例
2013/12/16 Javascript
IE6下拉框图层问题探讨及解决
2014/01/03 Javascript
jQuery链使用指南
2015/01/20 Javascript
简单的jQuery入门指引
2015/07/28 Javascript
JavaScript的jQuery库中ready方法的学习教程
2015/08/14 Javascript
JavaScript驾驭网页-DOM
2016/03/24 Javascript
JavaScript判断微信浏览器实例代码
2016/06/13 Javascript
indexedDB bootstrap angularjs之 MVC DOMO (应用示例)
2016/06/20 Javascript
Angular JS 生成动态二维码的方法
2017/02/23 Javascript
在vue项目创建的后初始化首次使用stylus安装方法分享
2018/01/25 Javascript
nodejs 使用nodejs-websocket模块实现点对点实时通讯
2018/11/28 NodeJs
小程序:授权、登录、session_key、unionId的详解
2019/05/15 Javascript
微信小程序中的上拉、下拉菜单功能
2020/03/13 Javascript
微信小程序视频弹幕发送功能的实现
2020/12/28 Javascript
Python从单元素字典中获取key和value的实例
2018/12/31 Python
python中正则表达式与模式匹配
2019/05/07 Python
对python中GUI,Label和Button的实例详解
2019/06/27 Python
python 生成器和迭代器的原理解析
2019/10/12 Python
python 协程中的迭代器,生成器原理及应用实例详解
2019/10/28 Python
Python3自定义json逐层解析器代码
2020/05/11 Python
Html5 Canvas 实现一个“刮刮乐”游戏
2019/09/05 HTML / CSS
UGG美国官网:购买UGG雪地靴、拖鞋和鞋子
2017/12/31 全球购物
岗位廉洁从业承诺书
2014/03/28 职场文书
药品业务员岗位职责
2014/04/17 职场文书
前台岗位职责范本
2015/04/16 职场文书
2015秋季开学典礼致辞
2015/07/16 职场文书
学习焦裕禄先进事迹心得体会
2016/01/23 职场文书
Go gorilla securecookie库的安装使用详解
2022/08/14 Golang