时尚时空

腕表销售,腕表爱好者交流。使用 webpy 构建 ...

↑我也要推荐

web.py 项目推介:基于淘宝API的购物返利网站 - 便宜否

发布时间:2010-07-03 10:02:25, 关注:+13840, 赞美:+10, 不爽:+7

本文标签: web.py 淘宝 api 便宜否 jinjia2 pymmseg sqlalchemy

在淘宝API应用风靡网络的时候,我也想尝试一把,做一个淘宝客网站,定名为“便宜否”(http://t.pianyifou.com/),本来打算用django开发,经一个朋友介绍web.py非常简洁,于是选择了web.py开发。

涉及的主要软件和模块有:

  • Apache2:使用mod_wsgi模块
  • Python-MySQL:使用了mysql数据库
  • Jinjia2:web.py自带的模板有一些格式问题,加之我喜欢django风格的模板,于是选择了Jinja2
  • SQLalchemy: web.py自带的db非常不错,但当涉及多表操作比较复杂时,我比较喜欢更强大一点的ORM来处理,sa就是最好的选择
  • Pymmseg:中文分词模板

“便宜否”的主要功能

就是搜索到要购买的商品,通过“便宜否”进行下单,得到淘宝客返利,从而实现便宜购物的新思路。为了使项目更快完成,我对UI并没下功夫,我认为Bing的UI非常适合,于是直接对 http://bing.com 的UI下了手。嘿~~

“便宜否”的技术细节

  • “便宜否”涉及到淘宝API的主要程序,只是通过urllib2,取得json数据返回。更多的工作,是需要对淘宝API取回的数据进行存储和进一步处理。
  • “便宜否”必须解决一个缓存问题,因为淘宝API有限时限量处理请求;其次,取回的数据非常基本,我们要给用户好的体验,必须取得更多的额外信息,比如30天售出、商家服务、商品评论等等。这里我使用Jquery的ajax进行了异步处理,同样缓存到了数据库。
  • “便宜否”内部还有很多比较有意思的东西,比如:
    • 我存储了用户搜索的关键字,当用户搜索相关词语时,我对关键字进行中文分词,找出了相关的关键字,组成了相关搜索;
    • 用户通过便宜否进行购物的同时,我也记录了用户行为,当淘宝API返回了成交的订单,我对订单进行分析,准确定位到用户行为,确定是某用户的订单,并自动返利到用户的帐户。
    • 因为部署在windows下,所以我自己写了一个定时器,定时获取淘宝API订单数据,进行数据处理。
  • 可以说,web.py的简洁,让我很快完成了这些工作,当然没有django的admin,我得手动为便宜否设置管理后台。
  • 当然web.py也有一部分不足之处,一是多app下使用session的复杂程度,远超出我的想象。
  • 其次在处理编码的时候也有一些问题,不能很好处理url下直接输入中文和get中文参数的问题,源于safeunicode的处理问题。我虽然对源代码进行了修改,能正确处理中文,却对其他亚洲语言(日语、韩语等)无法正确处理。
  • 总而言之,web.py已远超出我的预期,小小麻雀,五脏俱全,还有i18n功能呢,祝愿web.py越来越好,pythoner越来越多。

关于作者:

老秋是05年开始从事前端设计的设计师,于07年喜欢上python,至今一直保持着这个业余爱好。学习并使用过一些流行框架,如django,webpy,flask,turbogears。
Gtalk: alawn84@gmail.com
地区:杭州
网站:http://www.laoqiu.com/
豆瓣:http://www.douban.com/people/alawn84/

如果你觉得本站对你有帮助,欢迎向本站赞助 :P

使用支付宝捐赠

Copyright© Python4cn(news, jobs) simple-is-better.com, 技术驱动:powered by web.py 空间主机:Webfaction

版权申明:文章转载已注明出处,如有疑问请来信咨询。本站为 python 语言推广公益网站,与 python 官方没有任何关系。

联系/投搞/留言: en.simple.is.better@gmail.com 向本站捐赠