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的14张思维导图
Oct 17 Python
Python实现矩阵转置的方法分析
Nov 24 Python
python实现图片识别汽车功能
Nov 30 Python
python消费kafka数据批量插入到es的方法
Dec 27 Python
解决pandas展示数据输出时列名不能对齐的问题
Nov 18 Python
Python遍历字典方式就实例详解
Dec 28 Python
Pytorch中的VGG实现修改最后一层FC
Jan 15 Python
Python3.7在anaconda里面使用IDLE编译器的步骤详解
Apr 29 Python
Python openpyxl模块实现excel读写操作
Jun 30 Python
python asyncio 协程库的使用
Jan 21 Python
python爬取新闻门户网站的示例
Apr 25 Python
opencv-python图像配准(匹配和叠加)的实现
Jun 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计算当前坐标3公里内4个角落的最大最小经纬度实例
2016/02/26 PHP
Javascript面向对象编程
2012/03/18 Javascript
js计算精度问题小结
2013/04/22 Javascript
JavaScript判断浏览器类型的方法
2015/02/10 Javascript
require.js的用法详解
2015/10/20 Javascript
JQuery.Ajax()的data参数类型实例详解
2015/11/20 Javascript
基于jQuery实现左右图片轮播(原理通用)
2015/12/24 Javascript
温习Javascript基础语法之词法结构
2016/05/31 Javascript
浅谈JavaScript的全局变量与局部变量
2016/06/10 Javascript
AngularJS入门教程之MVC架构实例分析
2016/11/01 Javascript
CSS3+JavaScript实现翻页幻灯片效果
2017/06/28 Javascript
使用Vue生成动态表单
2019/11/26 Javascript
js中apply和call的理解与使用方法
2019/11/27 Javascript
JavaScript编码小技巧分享
2020/09/17 Javascript
python文件读写操作与linux shell变量命令交互执行的方法
2015/01/14 Python
python开发之list操作实例分析
2016/02/22 Python
Python SQL查询并生成json文件操作示例
2018/08/17 Python
使用memory_profiler监测python代码运行时内存消耗方法
2018/12/03 Python
Python数据分析模块pandas用法详解
2019/09/04 Python
tensorflow 利用expand_dims和squeeze扩展和压缩tensor维度方式
2020/02/07 Python
python的help函数如何使用
2020/06/11 Python
pycharm全局搜索的具体步骤
2020/07/28 Python
css3中单位px,em,rem,vh,vw,vmin,vmax的区别及浏览器支持情况
2016/12/06 HTML / CSS
美国最大的珠宝商之一:Littman Jewelers
2016/11/13 全球购物
波兰最大的儿童服装连锁店之一:5.10.15.
2018/02/11 全球购物
在线购买廉价折扣书籍和小说:BookOutlet.com
2018/02/19 全球购物
Gloeilampgoedkoop荷兰:在线购买灯泡
2019/02/16 全球购物
英国露营设备和户外服装购物网站:Simply Hike
2019/05/05 全球购物
法律专业应届生自荐信范文
2014/01/06 职场文书
《桂花雨》教学反思
2014/04/12 职场文书
中学教师暑期培训方案
2014/08/27 职场文书
公共艺术专业自荐信
2014/09/01 职场文书
辩护词范文大全
2015/05/21 职场文书
spring项目中切面及AOP的使用方法
2021/06/26 Java/Android
Python 视频画质增强
2022/04/28 Python
如何使用注解方式实现 Redis 分布式锁
2022/07/23 Redis