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的id()函数解密过程
Dec 25 Python
python各种语言间时间的转化实现代码
Mar 23 Python
Python双精度浮点数运算并分行显示操作示例
Jul 21 Python
python递归全排列实现方法
Aug 18 Python
python实现差分隐私Laplace机制详解
Nov 25 Python
JupyterNotebook设置Python环境的方法步骤
Dec 03 Python
Python3 中作为一等对象的函数解析
Dec 11 Python
全网首秀之Pycharm十大实用技巧(推荐)
Apr 27 Python
浅谈python3打包与拆包在函数的应用详解
May 02 Python
深度学习tensorflow基础mnist
Apr 14 Python
python基于机器学习预测股票交易信号
May 25 Python
2021年最新用于图像处理的Python库总结
Jun 15 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
Thinkphp搭建包括JS多语言的多语言项目实现方法
2014/11/24 PHP
PHP将session信息存储到数据库的类实例
2015/03/04 PHP
PHP批量获取网页中所有固定种子链接的方法
2016/11/18 PHP
PHP删除数组中指定值的元素常用方法实例分析【4种方法】
2018/08/21 PHP
jquery $.each 和for怎么跳出循环终止本次循环
2013/09/27 Javascript
javascript原型链继承用法实例分析
2015/01/28 Javascript
详解JS面向对象编程
2016/01/24 Javascript
快速掌握Node.js之Window下配置NodeJs环境
2016/03/21 NodeJs
JavaScript类型系统之布尔Boolean类型详解
2016/06/26 Javascript
浅谈js中的in-for循环
2016/06/28 Javascript
angular实现spa单页面应用实例
2017/07/10 Javascript
vue教程之toast弹框全局调用示例详解
2020/08/24 Javascript
浅谈Webpack自动化构建实践指南
2017/12/18 Javascript
vue结合element-ui使用示例
2019/01/24 Javascript
vue前端框架—Mint UI详解(更适用于移动端)
2019/04/30 Javascript
Python循环语句中else的用法总结
2016/09/11 Python
Python书单 不将就
2017/07/11 Python
通过Python模块filecmp 对文件比较的实现方法
2018/06/29 Python
在Python中分别打印列表中的每一个元素方法
2018/11/07 Python
python opencv minAreaRect 生成最小外接矩形的方法
2019/07/01 Python
python Django里CSRF 对应策略详解
2019/08/05 Python
详解使用Python下载文件的几种方法
2019/10/13 Python
python3 logging日志封装实例
2020/04/08 Python
Python爬虫之Selenium设置元素等待的方法
2020/12/04 Python
Coggles美国/加拿大:高级国际时装零售商
2018/10/23 全球购物
北欧最好的童装网上商店:Babyshop
2019/09/15 全球购物
《苏珊的帽子》教学反思
2014/04/07 职场文书
请假条范文大全
2014/04/10 职场文书
2014年团队工作总结
2014/11/24 职场文书
人事任命通知书
2015/04/21 职场文书
酒店厨房管理制度
2015/08/06 职场文书
儿童诗两首教学反思
2016/02/23 职场文书
幼儿园教师辞职信
2019/06/21 职场文书
2019年新郎保证书3篇
2019/10/17 职场文书
Django给表单添加honeypot验证增加安全性
2021/05/06 Python