简单的模拟京东商城购买过程-pymysql
获取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相关推荐
- js面向对象模拟京东商城图片放大效果
js面向对象模拟京东商城图片放大效果 JavaScript 的核心是支持面向对象的,同时它也提供了强大灵活的 OOP 语言能力.本文简单介绍一下使用JavaScript面向对象思想模拟京东商城鼠标悬浮 ...
- 利用Eclipse-Python简单爬取京东商城书籍信息进行可视化
[实验目的] 熟悉从网上爬取数据到将数据进行可视化的全部流程,通过实例了解并掌握每个过程. 了解爬虫爬取数据的原理,并选择一种语言编程,将数据获取到数据库. 熟练使用 eclipse 中 Java 语 ...
- python实现京东商城
用python实现简单版的京东商城 一.数据库准备 1. 商品表 create table goods(id int unsigned primary key auto_increment not n ...
- python模拟登录网站_Python爬虫实战之(四)| 模拟登录京东商城
作者:xiaoyu 微信公众号:Python数据科学 知乎:Python数据分析师 前两篇和大家分享了爬虫中http的一些概念和使用方法,基础篇我们主要介绍了http的请求头,高级篇我们主要介绍了co ...
- 京东618:六年历程步步为营,京东商城的安全保卫战
电商网站在为广大用户提供网购便利的同时,在安全方面也不可以掉以轻心.那么作为一家高流量的电商,京东是怎样做安全防护的?在618备战期间又需要特别注意哪些事项?京东安全的现状和未来是怎样的?为此,Inf ...
- Scrapy练习——爬取京东商城商品信息
刚刚接触爬虫,花了一段时间研究了一下如何使用scrapy,写了一个比较简单的小程序,主要用于爬取京东商城有关进口牛奶页面的商品信息,包括商品的名称,价格,店铺名称,链接,以及评价的一些信息等.简单记录 ...
- 用Selenium+xpath爬取京东商城
前言 这两天原本想在淘宝上爬点东西进行分析的,但没想到淘宝的反爬机制对我这个爬虫菜鸡充满了恶意.先是被数据的格式搞得焦头烂额,好不容易写好了测试一页的代码,准备美滋滋开始大显身手,爬取多页时,发现竟然 ...
- 京东商城总架构师、基础平台负责人刘海锋:京东双11创新技术实践
[CSDN现场报道]2016 年 11 月 18 日- 20 日,由 CSDN 重磅打造的年终技术盛会 -- "2016 中国软件开发者大会"(Software Developer ...
- 爬虫利器Pyppeteer的介绍和使用 爬取京东商城书籍信息
提起 selenium 想必大家都不陌生,作为一款知名的 Web 自动化测试框架,selenium 支持多款主流浏览器,提供了功能丰富的API 接口,经常被我们用作爬虫工具来使用.但是 seleniu ...
最新文章
- 树莓派_FTP服务器的搭建
- Sratch-gui 中文文档
- python调用adb传输电脑文件到手机_使用adb在电脑和手机间传文件
- EMF+GEF的属性页问题
- C++11-long long
- phone6s home键按不动了怎么办 苹果6s home键按不动解决方法
- java登录界面命令_Java命令行界面(第25部分):JCommando
- 第二阶段--个人冲刺--第十天
- Linux中的date、cal、bc三个简单命令
- 超详细CookieSession的原理与用法
- iPhone 12s Pro Max外观配置细节曝光:支持120Hz刷新率
- k8s mysql 弹性_kubernetes云平台管理实战:k8s弹性伸缩(十八)
- 阿克苏计算机考试成绩查询,阿克苏高考成绩查询系统2021
- [C++再学习系列] 具有链接的C++实体
- zen of python什么意思_Zen of Python
- Micmac摄影测量软件介绍
- r 中文乱码_配置R语言环境,这一篇就够了!
- CSS 3之美化表格样式(二)
- css 所有后代元素,CSS 选择子元素和后代元素
- 工地人脸识别门禁考的出现对智慧工地提出解决方案