Python爬虫程序设计KC17.pptx

上传人(卖家):三亚风情 文档编号:3371831 上传时间:2022-08-24 格式:PPTX 页数:18 大小:69.42KB
下载 相关 举报
Python爬虫程序设计KC17.pptx_第1页
第1页 / 共18页
Python爬虫程序设计KC17.pptx_第2页
第2页 / 共18页
Python爬虫程序设计KC17.pptx_第3页
第3页 / 共18页
Python爬虫程序设计KC17.pptx_第4页
第4页 / 共18页
Python爬虫程序设计KC17.pptx_第5页
第5页 / 共18页
点击查看更多>>
资源描述

1、1.7.1 Web学生管理程序学生管理程序学生的记录包括学号No、姓名Name、性别Sex与年龄Age,服务器的作用是建立与维护一个Sqllite的学生数据库students.db中的学生记录表students:create table students(No varchar(16)primary key,Name varchar(16),Sex varchar(8),Age int)服务器建立一个Web网站,同时提供查询学生记录、增加学生记录、删除学生记录等接口服务。服务器为了与客户端通讯,建立一个opt的参数如表1-5-1所示:opt值值含义含义init初始化学生表insert增加学生de

2、lete删除学生 获取学生记录如果客户端向服务器发送opt=init,那么服务器创建students表,并返回是否创建成功,如果成功就返回msg:OK;如果客户端向服务器发送opt=insert,同时发送No,Name,Sex,Age参数,那么服务器向数据库表插入一条学生记录,并返回是否插入成功信息,如果成功就返回msg:OK;如果客户端向服务器发送opt=delete,同时发送No参数,那么服务器从数据库表中删除学号为No的一条学生记录,并返回是否删除成功的信息,如果成功就返回msg:OK;如果客户端不向服务器发送opt参数值,那么服务器获取所有的学生记录返回给客户端,如果成功就返回msg:

3、OK,data:rows,其中rows是学生的记录行的列表;1.7.2 学生管理学生管理服务器服务器程序程序import flaskimport sqlite3import json app=flask.Flask(_name_)class StudentDB:def openDB(self):self.con=sqlite3.connect(students.db)self.cursor=self.con.cursor()def closeDB(self):mit()self.con.close()def initTable(self):res=try:self.cursor.execute

4、(create table students(No varchar(16)primary key,Name varchar(16),Sex varchar(8),Age int)resmsg=OK except Exception as err:resmsg=str(err)return res def insertRow(self,No,Name,Sex,Age):res=try:self.cursor.execute(insert into students(No,Name,Sex,Age)values(?,?,?,?),(No,Name,Sex,Age)resmsg=OK except

5、Exception as err:resmsg=str(err)return res def deleteRow(self,No):res=try:self.cursor.execute(delete from students where No=?,(No,)resmsg=OK except Exception as err:resmsg=str(err)return res def selectRows(self):res=try:data=self.cursor.execute(select*from students order by No)rows=self.cursor.fetch

6、all()for row in rows:d=dNo=row0 dName=row1 dSex=row2 dAge=row3 data.append(d)resmsg=OK resdata=data except Exception as err:resmsg=str(err)return resapp.route(/,methods=GET,POST)def process():opt=flask.request.values.get(opt)if opt in flask.request.values else res=db=StudentDB()db.openDB()if opt=ini

7、t:res=db.initTable()elif opt=insert:No=flask.request.values.get(No)if No in flask.request.values else Name=flask.request.values.get(Name)if Name in flask.request.values else Sex=flask.request.values.get(Sex)if Sex in flask.request.values else Age=flask.request.values.get(Age)if Age in flask.request.

8、values else res=db.insertRow(No,Name,Sex,Age)elif opt=delete:No=flask.request.values.get(No)if No in flask.request.values else res=db.deleteRow(No)else:res=db.selectRows()db.closeDB()return json.dumps(res)if _name_=_main_:app.run()1.7.3 学生管理学生管理客户端客户端程序程序如果客户端向服务器发送opt=init,那么服务器创建students表,并返回是否创建成

9、功,如果成功就返回msg:OK;如果客户端向服务器发送opt=insert,同时发送No,Name,Sex,Age参数,那么服务器向数据库表插入一条学生记录,并返回是否插入成功信息,如果成功就返回msg:OK;如果客户端向服务器发送opt=delete,同时发送No参数,那么服务器从数据库表中删除学号为No的一条学生记录,并返回是否删除成功的信息,如果成功就返回msg:OK;如果客户端不向服务器发送opt参数值,那么服务器获取所有的学生记录返回给客户端,如果成功就返回msg:OK,data:rows,其中rows是学生的记录行的列表;import urllib.requestimport js

10、on class Student:def _init_(self,No,Name,Sex,Age):self.No=No self.Name=Name self.Sex=Sex self.Age=Age def show(self):print(%-16s%-16s%-8s%-4d%(self.No,self.Name,self.Sex,self.Age)students=url=http:/127.0.0.1:5000 def listStudents():global students print(%-16s%-16s%-8s%-4s%(No,Name,Sex,Age)for s in s

11、tudents:s.show()def insertStudent(s):global students i=0 while(i studentsi.No):i=i+1 if(i 0):data=data+buf else:break data=data.decode()data=json.loads(data)if datamsg=OK:data=datadata for d in data:#each d is a dictionary s=Student(dNo,dName,dSex,dAge)students.append(s)except Exception as exp:print

12、(exp)try:readStudents()while True:print()print(*学生名单*)print(0.初始化学生表)print(1.查看学生列表)print(2.增加学生记录)print(3.删除学生记录)print(4.退出这个程序)s=input(请选择(0,1,2,3,4):)if(s=0):initialize()elif(s=1):listStudents()elif(s=2):insertRow()elif(s=3):deleteRow()elif(s=4):breakexcept Exception as exp:print(exp)客户端结果示例:*学生名单*0.初始化学生表1.查看学生列表2.增加学生记录3.删除学生记录4.退出这个程序请选择(0,1,2,3,4):1No Name Sex Age 1 2 男 23 2 2 女 21 客户端显示有两条记录存在。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(Python爬虫程序设计KC17.pptx)为本站会员(三亚风情)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|