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脚本实现代码行数统计代码分享
Mar 10 Python
Pthon批量处理将pdb文件生成dssp文件
Jun 21 Python
python实现在字符串中查找子字符串的方法
Jul 11 Python
Python实现将MySQL数据库表中的数据导出生成csv格式文件的方法
Jan 11 Python
python编写暴力破解zip文档程序的实例讲解
Apr 24 Python
django中静态文件配置static的方法
May 20 Python
python实现图片文件批量重命名
Mar 23 Python
django重新生成数据库中的某张表方法
Aug 28 Python
python matplotlib 画dataframe的时间序列图实例
Nov 20 Python
Pytorch .pth权重文件的使用解析
Feb 14 Python
Python合并pdf文件的工具
Jul 01 Python
Python何绘制带有背景色块的折线图
Apr 23 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将会员数据导入到ucenter的代码
2010/07/18 PHP
PHP在字符断点处截断文字的实现代码
2011/04/21 PHP
Laravel5.1数据库连接、创建数据库、创建model及创建控制器的方法
2016/03/29 PHP
ThinkPHP实现静态缓存和动态缓存示例代码
2017/05/02 PHP
win7 wamp 64位 php环境开启curl服务遇到的问题及解决方法
2018/09/16 PHP
浅谈php://filter的妙用
2019/03/05 PHP
番茄的表单验证类代码修改版
2008/07/18 Javascript
JavaScript 学习笔记(六)
2009/12/31 Javascript
简单的jquery拖拽排序效果实现代码
2011/09/20 Javascript
jquery删除提示框弹出是否删除对话框
2014/01/07 Javascript
Js实现动态添加删除Table行示例
2014/04/14 Javascript
js返回前一页刷新本页重载页面
2014/07/29 Javascript
让图片跳跃起来  javascript图片轮播特效
2016/02/16 Javascript
HTML5+jQuery插件Quicksand实现超酷的星际争霸2兵种分类展示效果(附demo源码下载)
2016/05/25 Javascript
简单实现js间歇或无缝滚动效果
2016/06/29 Javascript
Vue 项目部署到服务器的问题解决方法
2017/12/05 Javascript
微信小程序 功能函数小结(手机号验证*、密码验证*、获取验证码*)
2017/12/08 Javascript
angular2中Http请求原理与用法详解
2018/01/11 Javascript
JS实现的将html转为pdf功能【基于浏览器端插件jsPDF】
2018/02/06 Javascript
jQuery实现遍历XML节点和属性的方法示例
2018/04/29 jQuery
详解微信小程序之scroll-view的flex布局问题
2019/01/16 Javascript
vue+element实现表格新增、编辑、删除功能
2019/05/28 Javascript
创建与框架无关的JavaScript插件
2020/12/01 Javascript
[54:41]2018DOTA2亚洲邀请赛3月30日 小组赛B组 VGJ.T VS paiN
2018/03/31 DOTA
python3 判断列表是一个空列表的方法
2018/05/04 Python
python3读取图片并灰度化图片的四种方法(OpenCV、PIL.Image、TensorFlow方法)总结
2019/07/04 Python
Python-Seaborn热图绘制的实现方法
2019/07/15 Python
Python PIL图片添加字体的例子
2019/08/22 Python
python 使用cx-freeze打包程序的实现
2020/03/14 Python
python图片指定区域替换img.paste函数的使用
2020/04/09 Python
Fanatics英国官网:美国体育电商
2018/11/06 全球购物
世界经理人咨询有限公司面试
2014/09/23 面试题
银行求职信范文
2014/05/26 职场文书
乡镇个人对照检查材料
2014/08/22 职场文书
2015年基层党建工作总结
2015/05/14 职场文书
导游词之重庆钓鱼城
2019/09/19 职场文书