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下singleton模式的实现方法
Jul 16 Python
Python代码实现删除一个list里面重复元素的方法
Apr 02 Python
Python 通过打码平台实现验证码的实现
May 13 Python
python实现日志按天分割
Jul 22 Python
django 微信网页授权登陆的实现
Jul 30 Python
浅谈Pytorch中的torch.gather函数的含义
Aug 18 Python
python数据预处理 :数据共线性处理详解
Feb 24 Python
pycharm设置python文件模板信息过程图解
Mar 10 Python
python使用Thread的setDaemon启动后台线程教程
Apr 25 Python
python实现局部图像放大
Nov 17 Python
Python+tkinter实现高清图片保存
Mar 13 Python
Python使用socket去实现TCP客户端和TCP服务端
Apr 12 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函数
2006/10/09 PHP
两个强悍的php 图像处理类1
2009/06/15 PHP
PHP实现截取中文字符串不出现?号的解决方法
2016/12/29 PHP
CI框架(CodeIgniter)实现的数据库增删改查操作总结
2018/05/23 PHP
JavaScript的面向对象(一)
2006/11/09 Javascript
Web版彷 Visual Studio 2003 颜色选择器
2007/01/09 Javascript
IE8 原生JSON支持
2009/04/13 Javascript
jQuery asp.net 用json格式返回自定义对象
2010/04/07 Javascript
打造基于jQuery的高性能TreeView(asp.net)
2011/02/23 Javascript
JavaScript NaN和Infinity特殊值 [译]
2012/09/20 Javascript
网页前端优化之滚动延时加载图片示例
2013/07/13 Javascript
动态标签 悬停效果 延迟加载示例代码
2013/11/21 Javascript
JS实现点击颜色块切换指定区域背景颜色的方法
2015/02/25 Javascript
微信小程序 开发之顶部导航栏实例代码
2017/02/23 Javascript
vue下history模式刷新后404错误解决方法
2018/08/18 Javascript
Vue CLI3创建项目部署到Tomcat 使用ngrok映射到外网
2019/05/16 Javascript
Vue 动态路由的实现及 Springsecurity 按钮级别的权限控制
2019/09/05 Javascript
[04:47]DOTA2-潍坊风行电子俱乐部探秘
2014/08/08 DOTA
[03:26]《DAC最前线》之EG经理自述DOTA2经历
2015/02/02 DOTA
在Python中操作列表之List.pop()方法的使用
2015/05/21 Python
Python字符串逐字符或逐词反转方法
2015/05/21 Python
Python入门_浅谈逻辑判断与运算符
2017/05/16 Python
pytorch构建网络模型的4种方法
2018/04/13 Python
python中的字符串内部换行方法
2018/07/19 Python
python tkinter基本属性详解
2019/09/16 Python
tensorflow下的图片标准化函数per_image_standardization用法
2020/06/30 Python
英国最大的户外商店:Go Outdoors
2019/04/17 全球购物
如何使用PHP session
2015/04/21 面试题
小班下学期评语
2014/05/04 职场文书
大连导游词
2015/02/12 职场文书
2015年高校辅导员工作总结
2015/04/20 职场文书
我的法兰西岁月观后感
2015/06/09 职场文书
恋恋笔记本观后感
2015/06/16 职场文书
委托收款证明
2015/06/23 职场文书
导游词之珠海轮廓
2019/10/25 职场文书
解决goland 导入项目后import里的包报红问题
2021/05/06 Golang