python实现京东商城
用python实现简单版的京东商城
一、数据库准备
1. 商品表
create table goods(id int unsigned primary key auto_increment not null,name varchar(150) not null,cate_id int unsigned not null,brand_id int unsigned not null,price decimal(10,3) not null default 0,is_show bit not null default 1,is_saleoff bit not null default 0
);
2. 商品分类表
create table if not exists goods_cates(id int unsigned primary key auto_increment,name varchar(40) not null
);
3. 商品品牌分类表
create table goods_brands (id int unsigned primary key auto_increment,name varchar(40) not null
);
二、相应的库准备
应为我的数据库放在云服务器上,因此在准备库的时候需要多加上一个sshtunnel
库。(具体原因在上一章)
- pymysql安装命令:
pip install pymysql
- sshtunnel安装命令:
pip install sshtunnel
三、基本骨架
整个代码我们可以利用一个JD类来实现,利用他的__init__
方法来构建ssh的连接和mysql的连接,利用__del__
方法来释放关闭连接。然后写一个run方法,在此基础上将增删改查四个步骤写入,在将这四个步骤分别细分成每个表即可。话不多说,上代码:
# -*- coding: utf-8 -*-
# @Author : summer
from sshtunnel import SSHTunnelForwarder
import pymysqlclass JD:def __init__(self):# 初始化,建立ssh连接,然后进行pysql连接self.ssh = SSHTunnelForwarder(ssh_address_or_host=(IP, 22), # 云服务器地址IP和端口portssh_username=admin, # 云服务器登录账号adminssh_password=pwd, # 云服务器登录密码password# 数据库服务地址ip,一般为localhost和端口port,一般为330remote_bind_address=('localhost', 3306))self.ssh.start()self.coon = pymysql.connect(host='127.0.0.1', # 此处必须是是127.0.0.1port=self.ssh.local_bind_port, user=admin, # mysql的登录账号adminpassword=pwd, # mysql的登录密码pwddb=db, # mysql中要访问的数据表charset='utf8') # 表的字符集# 创建游标self.cur = self.coon.cursor()def __del__(self):# 关闭对象self.cur.close()self.coon.close()self.ssh.close()def execute_sql(self, sql):# 执行sql语句self.cur.execute(sql)one_data = self.cur.fetchone()while one_data:print(one_data)one_data = self.cur.fetchone()@staticmethoddef print_find_menu():# 打印查找的列表print("-----京东商城-查询操作-----")print("1:所有的商品")print("2:所有的商品分类")print("3:所有的商品品牌分类")print("4:按值查询商品")print("0:退出")return input("请输入功能对应的序号:")def do_find(self):# 执行查找总操作while True:num = self.print_find_menu()if num == "1":passelif num == "2":passelif num == "3":passelif num == "4":passelif num == "0":print("")breakelse:print("您输入的序号有误,请重新输入\n")@staticmethoddef print_update_menu():# 打印修改的列表print("-----京东商城-修改操作-----")print("1:修改商品")print("2:修改商品分类")print("3:修改商品品牌分类")print("0:退出")return input("请输入功能对应的序号:")def do_update(self):# 执行修改的总操作while True:num = self.print_update_menu()if num == "1":passelif num == "2":passelif num == "3":passelif num == "0":self.coon.commit()print("")breakelse:print("您输入的序号有误,请重新输入\n")@staticmethoddef print_del_menu():# 打印删除的列表print("-----京东商城-删除操作-----")print("1:删除商品")print("2:删除商品分类")print("3:删除商品品牌分类")print("0:退出")return input("请输入功能对应的序号:")def do_del(self):# 执行删除的总操作while True:num = self.print_del_menu()if num == "1":# 删除商品passelif num == "2":passelif num == "3":passelif num == "0":self.coon.commit()print("")breakelse:print("您输入的序号有误,请重新输入\n")@staticmethoddef print_add_menu():# 打印添加的列表print("-----京东商城-增加操作-----")print("1:增加商品")print("2:增加商品分类")print("3:增加商品品牌分类")print("0:退出")return input("请输入功能对应的序号:")def do_add(self):# 打印添加的列表while True:num = self.print_add_menu()if num == "1":passelif num == "2":passelif num == "3":passelif num == "0":passprint("")breakelse:print("您输入的序号有误,请重新输入\n")@staticmethoddef pring_menu():# 打印总的列表print("-----京东商城-----")print("1:查询操作")print("2:修改操作")print("3:删除操作")print("4:添加操作")print("0:退出")return input("请输入功能对应的序号:")def run(self):while True:num = self.pring_menu()if num == "1":self.do_find()elif num == "2":self.do_update()elif num == "3":self.do_del()elif num == "4":self.do_add()elif num == "0":self.coon.commit() # 这里最好也添加一个print("")breakelse:print("您输入的序号有误,请重新输入\n")def main():jd = JD()jd.run()del jdif __name__ == '__main__':main()
四、“添油加醋”
有了这个骨架,我们就可以添加相关的操作即可,这里需要注意几点:
- 查找操作不需要提交,因此可以单独写一个执行代码
- 增删改操作在整个退出以后,需要执行一次commit操作
- 再写增删改的sql语句时,需要注意sql注入,因此可以使用列表等元素进行相应的防护
五、总代码
代码传送门
python实现京东商城相关推荐
- python爬虫完整实例-python爬虫实战之爬取京东商城实例教程
前言 本文主要介绍的是利用python爬取京东商城的方法,文中介绍的非常详细,下面话不多说了,来看看详细的介绍吧. 主要工具 scrapy BeautifulSoup requests 分析步骤 1. ...
- 爬虫python的爬取步骤-python爬虫实战之爬取京东商城实例教程
前言 本文主要介绍的是利用python爬取京东商城的方法,文中介绍的非常详细,下面话不多说了,来看看详细的介绍吧. 主要工具 scrapy BeautifulSoup requests 分析步骤 1. ...
- python爬虫爬图片教程_python爬虫实战之爬取京东商城实例教程
前言 本文主要介绍的是利用python爬取京东商城的方法,文中介绍的非常详细,下面话不多说了,来看看详细的介绍吧. 主要工具 scrapy BeautifulSoup requests 分析步骤 1. ...
- python 爬网站 实例_python爬虫实战:之爬取京东商城实例教程!(含源代码)
前言: 本文主要介绍的是利用python爬取京东商城的方法,文中介绍的非常详细,下面话不多说了,来看看详细的介绍吧. 主要工具 scrapy BeautifulSoup requests 分析步骤 1 ...
- python模拟登录网站_Python爬虫实战之(四)| 模拟登录京东商城
作者:xiaoyu 微信公众号:Python数据科学 知乎:Python数据分析师 前两篇和大家分享了爬虫中http的一些概念和使用方法,基础篇我们主要介绍了http的请求头,高级篇我们主要介绍了co ...
- Python抓取京东商城的所有笔记本电脑的参数
最近洪爷要写数据挖掘的论文需要些数据,于是俺又有机会做苦力了.昨天刚刚回到学校,晚上就帮洪爷写了个爬虫来爬数据京东商城的笔记本的参数. 为了快速完成,基本原理就是人工找到笔记本的页面. 然后他有22页 ...
- python爬京东联盟_python爬虫框架scrapy实战之爬取京东商城进阶篇
前言 之前的一篇文章已经讲过怎样获取链接,怎样获得参数了,详情请看python爬取京东商城普通篇,本文将详细介绍利用python爬虫框架scrapy如何爬取京东商城,下面话不多说了,来看看详细的介绍吧 ...
- python爬虫爬取教程_python爬虫实战之爬取京东商城实例教程
前言 本文主要介绍的是利用python爬取京东商城的方法,文中介绍的非常详细,下面话不多说了,来看看详细的介绍吧. 主要工具 scrapy BeautifulSoup requests 分析步骤 1. ...
- 利用python爬虫爬取京东商城商品图片
笔者曾经用python第三方库requests来爬取京东商城的商品页内容,经过解析之后发现只爬到了商品页一半的图片.(这篇文章我们以爬取智能手机图片为例) 当鼠标没有向下滑时,此时查看源代码的话,就会 ...
最新文章
- 网络营销er每天必做四件事
- Array.Copy 方法 总结
- 一场面试,用20秒介绍自己顺便教训了领导
- Go-err is shadowed during return
- Linux下Nginx+PHP+MySQL配置(图)
- linux crontab 每隔10秒执行一次
- IQueryable接口与IEnumberable接口的区别
- pandas AttributeError: ‘Styler‘ object has no attribute ‘style‘解决方法
- memcached服务安装与卸载
- CANoe 13 demo 下载和激活-转载
- ddr3配置 dsp6678_DSP6678DDR配制方法
- thinkpkp typecho maccms 全站加密不改动源码方法,多数php程序通用
- matlab 判断 正态分布,用MATLAB判断一组数据是否符合正态分布
- GitLab配置ssh key:gitlab add an ssh key
- 使用plist文件进行ipa的安装
- 【图解数据结构】队列全面总结
- jQuery插件的使用
- 大量数据导出Excel方案
- 微信小程序预览无法播放视频
- 快手、抖音、微信视频号三国争霸,究竟鹿死谁家?