学习python和数据分析推荐地方: www.lynda.com  
获取lynda官网会员的方式:http://item.taobao.com/item.htm?id=557746408785
from pymysql import connectclass JD(object):"""创建一个京东的服务"""def __init__(self):"""初始化操作,数据库,类属性"""# 创建一个SQL连接self.conn = connect(host="localhost", port=3306,database="jing_dong", user="root",password="mysql", charset="utf8")# 创建一个游标self.cursor = self.conn.cursor()self.customer_id = Nonedef run(self):while True:JD.print_menu()option = input("输入:")if option == "1":self.show_all_goods()elif option == "2":self.log_in()pass  # TODO 登陆elif option == "3":self.register()pass # TODO 注册elif option == "4":self.place_order()pass # TODO 下订单elif option == "5":breakpass # TODO 退出系统def show_all_goods(self):try:sql = """select * from goods"""self.cursor.execute(sql)for item in self.cursor.fetchall():print(item)except Exception as E:print("读取数据失败")def log_in(self):"""登录操作"""user_name = input("请输入用户名:")password = input("请输入密码:")sql = """select * from user_info where user_name=%s and password=%s"""if not self.cursor.execute(sql, [user_name, password]):print("用户名或者密码错误!")returnuser_id = self.cursor.fetchone()[0]print("登录成功!")# 保存本地登录状态self.customer_id = user_iddef register(self):user_name = input("请输入用户名:")try:sql = """select * from user_info where user_name=%s"""if self.cursor.execute(sql, [user_name]):print("该用户名已经注册!")returnpassword = input("请输入密码:")address = input("请输入地址:")mobile = input("请输入电话:")sql = """insert into user_info value(0, %s, %s, %s, %s)"""self.cursor.execute(sql, [user_name, password, address, mobile])self.conn.commit()except Exception as e:print("注册失败!")self.conn.rollback()returnelse:print("注册成功!")def place_order(self):customer_id = int(self.customer_id)if self.customer_id is None:print("请先登录账号!")return# 选择商品,获取商品idself.show_all_goods()goods_id = input("请输入您要购买的商品编号:")sql = """select * from goods where id=%s"""if not self.cursor.execute(sql, [goods_id]):print("输入有误,请重试!")print("购买失败!")returnprint("您选择的商品信息为:", self.cursor.fetchall())try:# 添加下单时间, 商品id到orders_listsql = """insert into orders_list values(0, now(), %s)"""self.cursor.execute(sql, [customer_id])order_id = self.cursor.lastrowid# 添加order_id, goods_id 和qty到order_detailsql = """insert into order_detail VALUES(0, %s, %s, 1)"""self.cursor.execute(sql, [order_id, goods_id])# 提交sql请求self.conn.commit()except Exception as E:print("购买失败!", E)self.conn.rollback()returnfinally:print("购买成功!")@staticmethoddef print_menu():menu = """----欢迎来到 京东商城-----1 显示所有商品2 登陆3 注册4 下订单5 退出系统请开始你的选择-------:"""print(menu)def __del__(self):"""退出程序,关灯"""self.cursor.close()self.conn.close()def main():# create mall servicejd = JD()# start servicejd.run()if __name__ == '__main__':main()
												

简单的模拟京东商城购买过程-pymysql相关推荐

  1. js面向对象模拟京东商城图片放大效果

    js面向对象模拟京东商城图片放大效果 JavaScript 的核心是支持面向对象的,同时它也提供了强大灵活的 OOP 语言能力.本文简单介绍一下使用JavaScript面向对象思想模拟京东商城鼠标悬浮 ...

  2. 利用Eclipse-Python简单爬取京东商城书籍信息进行可视化

    [实验目的] 熟悉从网上爬取数据到将数据进行可视化的全部流程,通过实例了解并掌握每个过程. 了解爬虫爬取数据的原理,并选择一种语言编程,将数据获取到数据库. 熟练使用 eclipse 中 Java 语 ...

  3. python实现京东商城

    用python实现简单版的京东商城 一.数据库准备 1. 商品表 create table goods(id int unsigned primary key auto_increment not n ...

  4. python模拟登录网站_Python爬虫实战之(四)| 模拟登录京东商城

    作者:xiaoyu 微信公众号:Python数据科学 知乎:Python数据分析师 前两篇和大家分享了爬虫中http的一些概念和使用方法,基础篇我们主要介绍了http的请求头,高级篇我们主要介绍了co ...

  5. 京东618:六年历程步步为营,京东商城的安全保卫战

    电商网站在为广大用户提供网购便利的同时,在安全方面也不可以掉以轻心.那么作为一家高流量的电商,京东是怎样做安全防护的?在618备战期间又需要特别注意哪些事项?京东安全的现状和未来是怎样的?为此,Inf ...

  6. Scrapy练习——爬取京东商城商品信息

    刚刚接触爬虫,花了一段时间研究了一下如何使用scrapy,写了一个比较简单的小程序,主要用于爬取京东商城有关进口牛奶页面的商品信息,包括商品的名称,价格,店铺名称,链接,以及评价的一些信息等.简单记录 ...

  7. 用Selenium+xpath爬取京东商城

    前言 这两天原本想在淘宝上爬点东西进行分析的,但没想到淘宝的反爬机制对我这个爬虫菜鸡充满了恶意.先是被数据的格式搞得焦头烂额,好不容易写好了测试一页的代码,准备美滋滋开始大显身手,爬取多页时,发现竟然 ...

  8. 京东商城总架构师、基础平台负责人刘海锋:京东双11创新技术实践

    [CSDN现场报道]2016 年 11 月 18 日- 20 日,由 CSDN 重磅打造的年终技术盛会 -- "2016 中国软件开发者大会"(Software Developer ...

  9. 爬虫利器Pyppeteer的介绍和使用 爬取京东商城书籍信息

    提起 selenium 想必大家都不陌生,作为一款知名的 Web 自动化测试框架,selenium 支持多款主流浏览器,提供了功能丰富的API 接口,经常被我们用作爬虫工具来使用.但是 seleniu ...

最新文章

  1. 树莓派_FTP服务器的搭建
  2. Sratch-gui 中文文档
  3. python调用adb传输电脑文件到手机_使用adb在电脑和手机间传文件
  4. EMF+GEF的属性页问题
  5. C++11-long long
  6. phone6s home键按不动了怎么办 苹果6s home键按不动解决方法
  7. java登录界面命令_Java命令行界面(第25部分):JCommando
  8. 第二阶段--个人冲刺--第十天
  9. Linux中的date、cal、bc三个简单命令
  10. 超详细CookieSession的原理与用法
  11. iPhone 12s Pro Max外观配置细节曝光:支持120Hz刷新率
  12. k8s mysql 弹性_kubernetes云平台管理实战:k8s弹性伸缩(十八)
  13. 阿克苏计算机考试成绩查询,阿克苏高考成绩查询系统2021
  14. [C++再学习系列] 具有链接的C++实体
  15. zen of python什么意思_Zen of Python
  16. Micmac摄影测量软件介绍
  17. r 中文乱码_配置R语言环境,这一篇就够了!
  18. CSS 3之美化表格样式(二)
  19. css 所有后代元素,CSS 选择子元素和后代元素
  20. 工地人脸识别门禁考的出现对智慧工地提出解决方案

热门文章

  1. JQuery中 JSON 兼容性问题(针对ie8)
  2. 【笑小枫的SpringBoot系列】【六】SpringBoot日志打印Logback详解
  3. TI C2000介绍
  4. 编解码方案性能分析工具:外信息传递图(EXIT chart)及LDPC-EXIT代码参考
  5. 小学就会背的乘法表,还藏着这么多秘密?
  6. 微信开发 现金红包、裂变红包、企业付款
  7. css写√的图标_CSS - 图标列表的写法
  8. 【paper 学习】1、DeepWiFi: Cognitive WiFi with Deep Learning
  9. 【游戏测评】《海盗来了》:四手终与双拳难辨
  10. 《OKR工作法》读书笔记